Files
edgeever/apps
Dariusz Korytoandtianma-if ee5e9621d5 fix(mobile): keep automatic sync alive when settling a pass fails (#597)
The automatic sync runner reset runningRef inside a finally block, after
awaiting refreshSyncQueueItems(). If reading the queue threw there,
runningRef stayed true and every later call returned early as if a pass
were still running, so automatic sync stopped until the app restarted.
A failing getMobileSyncRetryDelay() also surfaced as an unhandled
rejection from the void-ed run.

Move the settle step into settleMobileSyncPass(), where refreshing the
visible queue and reading the retry delay each handle their own errors
and the runner is always marked idle. Ordering is unchanged: refresh,
mark idle, run a pass requested meanwhile, otherwise schedule the retry.
This also removes the return inside finally reported by
no-unsafe-finally.

Co-authored-by: tianma-if <yingwaizhiying@gmail.com>
2026-10-16 22:07:23 +08:00
..