fix: Formulus/honest sync progress and clearer Sync UI#640
Merged
r0ssing merged 4 commits intoMay 21, 2026
Conversation
Drive progress from synkronus pull/push and per-attachment steps instead of fake four-step milestones. Show phase titles, counts, and current filenames on the Sync screen and in Android notifications. Run attachment manifest once after observation pull completes.
The Sync screen timer only stopped awaiting the promise while sync kept running in the background. Observation sync now runs until it completes, errors, or the user cancels.
Hide percent and filename during attachment upload/download; show only the progress bar and N-of-M count. Restore app bundle to bar-only progress. Map "records" to "observations" in pull progress display text (UI layer).
r0ssing
approved these changes
May 21, 2026
Contributor
r0ssing
left a comment
There was a problem hiding this comment.
Thanks @najuna-brian ! This is a great improvement!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Observation sync previously showed misleading progress: the bar jumped to ~75% immediately, then sat there for a long time while pull/attachments/push ran. A 30-minute UI-only timeout could report “Sync failed” while work continued in the background.
This PR wires progress to real sync work, improves the Sync screen and notifications, and removes the misleading timeout.
Progress reporting
synkronusApiduring pull, attachment manifest/download/upload, and push (not fake 4-step milestones inSyncService).formulus/src/sync/syncProgress.tswith phases:pull_observations,pull_attachments,push_attachments,push_observations,app_bundle.Sync screen UI
Other fixes
Promise.race30-minute timeout fromhandleSyncso the UI does not claim failure while sync keeps running.