Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Data sync] Improve sync status UX #2084

Closed
3 tasks
gino-m opened this issue Nov 30, 2023 · 2 comments
Closed
3 tasks

[Data sync] Improve sync status UX #2084

gino-m opened this issue Nov 30, 2023 · 2 comments
Labels
type: fr Request for new feature
Milestone

Comments

@gino-m
Copy link
Collaborator

gino-m commented Nov 30, 2023

Ideas:

  • Auto-retry only on failures due to connectivity
  • All other issues should be discoverable via the sync status UI
  • Allow users to manually retry failed jobs
@amysorto
Copy link

amysorto commented Nov 30, 2023

My sync failed, this is the log for it:

---------------------------- PROCESS STARTED (22866) for package com.google.android.ground ----------------------------
10:45:17.767  E  Error parsing JSON string
                 org.json.JSONException: No value for altitude
                 	at org.json.JSONObject.get(JSONObject.java:398)
                 	at org.json.JSONObject.getDouble(JSONObject.java:453)
                 	at com.google.android.ground.persistence.local.room.converter.ValueJsonConverter.captureLocationResultFromJsonObject-IoAF18A(ValueJsonConverter.kt:124)
                 	at com.google.android.ground.persistence.local.room.converter.ValueJsonConverter.toResponse(ValueJsonConverter.kt:113)
                 	at com.google.android.ground.persistence.local.room.converter.SubmissionDeltasConverter.fromString(SubmissionDeltasConverter.kt:73)
                 	at com.google.android.ground.persistence.local.room.converter.ConverterExtKt.toModelObject(ConverterExt.kt:336)
                 	at com.google.android.ground.repository.MutationRepository.toSubmissionMutation(MutationRepository.kt:79)
                 	at com.google.android.ground.repository.MutationRepository.access$toSubmissionMutation(MutationRepository.kt:39)
                 	at com.google.android.ground.repository.MutationRepository$toSubmissionMutation$1.invokeSuspend(Unknown Source:15)
                 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
                 	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
                 	at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:115)
                 	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:100)
                 	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
                 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)
                 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)
                 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)
10:55:18.366  E  Unsupported task type: draw_area
10:55:18.367  E  Unsupported task type: drop_pin
10:56:20.570  E  Error parsing JSON string
                 org.json.JSONException: No value for altitude
                 	at org.json.JSONObject.get(JSONObject.java:398)
                 	at org.json.JSONObject.getDouble(JSONObject.java:453)
                 	at com.google.android.ground.persistence.local.room.converter.ValueJsonConverter.captureLocationResultFromJsonObject-IoAF18A(ValueJsonConverter.kt:124)
                 	at com.google.android.ground.persistence.local.room.converter.ValueJsonConverter.toResponse(ValueJsonConverter.kt:113)
                 	at com.google.android.ground.persistence.local.room.converter.SubmissionDeltasConverter.fromString(SubmissionDeltasConverter.kt:73)
                 	at com.google.android.ground.persistence.local.room.converter.ConverterExtKt.toModelObject(ConverterExt.kt:336)
                 	at com.google.android.ground.persistence.local.room.stores.RoomSubmissionStore$getAllSurveyMutationsFlow$$inlined$map$1$2.emit(Emitters.kt:224)
                 	at kotlinx.coroutines.flow.internal.SafeCollectorKt$emitFun$1.invoke(SafeCollector.kt:15)
                 	at kotlinx.coroutines.flow.internal.SafeCollectorKt$emitFun$1.invoke(SafeCollector.kt:15)
                 	at kotlinx.coroutines.flow.internal.SafeCollector.emit(SafeCollector.kt:87)
                 	at kotlinx.coroutines.flow.internal.SafeCollector.emit(SafeCollector.kt:66)
                 	at kotlinx.coroutines.flow.FlowKt__ChannelsKt.emitAllImpl$FlowKt__ChannelsKt(Channels.kt:37)
                 	at kotlinx.coroutines.flow.FlowKt__ChannelsKt.access$emitAllImpl$FlowKt__ChannelsKt(Channels.kt:1)
                 	at kotlinx.coroutines.flow.FlowKt__ChannelsKt$emitAllImpl$1.invokeSuspend(Unknown Source:14)
                 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
                 	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
                 	at android.os.Handler.handleCallback(Handler.java:942)
                 	at android.os.Handler.dispatchMessage(Handler.java:99)
                 	at android.os.Looper.loopOnce(Looper.java:201)
                 	at android.os.Looper.loop(Looper.java:288)
                 	at android.app.ActivityThread.main(ActivityThread.java:7872)
                 	at java.lang.reflect.Method.invoke(Native Method)
                 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
                 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
10:56:33.791  E  Error parsing JSON string
                 org.json.JSONException: No value for altitude
                 	at org.json.JSONObject.get(JSONObject.java:398)
                 	at org.json.JSONObject.getDouble(JSONObject.java:453)
                 	at com.google.android.ground.persistence.local.room.converter.ValueJsonConverter.captureLocationResultFromJsonObject-IoAF18A(ValueJsonConverter.kt:124)
                 	at com.google.android.ground.persistence.local.room.converter.ValueJsonConverter.toResponse(ValueJsonConverter.kt:113)
                 	at com.google.android.ground.persistence.local.room.converter.SubmissionDeltasConverter.fromString(SubmissionDeltasConverter.kt:73)
                 	at com.google.android.ground.persistence.local.room.converter.ConverterExtKt.toModelObject(ConverterExt.kt:336)
                 	at com.google.android.ground.repository.MutationRepository.toSubmissionMutation(MutationRepository.kt:79)
                 	at com.google.android.ground.repository.MutationRepository.access$toSubmissionMutation(MutationRepository.kt:39)
                 	at com.google.android.ground.repository.MutationRepository$toSubmissionMutation$1.invokeSuspend(Unknown Source:15)
                 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
                 	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
                 	at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:115)
                 	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:100)
                 	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
                 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)
                 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)
                 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)

@gino-m gino-m added this to Ground Dec 19, 2023
@gino-m gino-m added this to the EUDR MVP milestone Dec 19, 2023
@gino-m gino-m changed the title Show useful info in sync status when submissions sync fail [Data sync] Show useful info in sync status when submissions sync fail Aug 6, 2024
@gino-m gino-m changed the title [Data sync] Show useful info in sync status when submissions sync fail [Data sync] Improve sync status UX Aug 7, 2024
@gino-m
Copy link
Collaborator Author

gino-m commented Nov 22, 2024

@scolsen has already made improvements to the sync status screen and this FR is too general to be useful. Closing.

@gino-m gino-m closed this as not planned Won't fix, can't repro, duplicate, stale Nov 22, 2024
@github-project-automation github-project-automation bot moved this to Done in Ground Nov 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: fr Request for new feature
Projects
Status: Done
Status: Todo
Development

No branches or pull requests

3 participants