mirror of
https://github.com/johannesjo/super-productivity.git
synced 2026-01-23 02:36:05 +00:00
When syncing 100+ operations, the server's piggyback limit (100 ops) was causing Client B to miss operations. The server returned 100 piggybacked ops but latestSeq was set to the actual server sequence (e.g., 199). Client B then updated lastServerSeq to 199, so subsequent download got 0 ops. Changes: - Server: Add hasMorePiggyback flag to UploadOpsResponse when piggyback limit is reached and more ops exist - Client: When hasMorePiggyback is true, store lastServerSeq as the max piggybacked op's serverSeq instead of latestSeq, ensuring subsequent download fetches remaining ops - Effects: Change switchMap to mergeMap in autoAddTodayTagOnMarkAsDone to ensure ALL mark-as-done actions trigger planTasksForToday - Flush service: Implement two-phase wait strategy (poll queue + acquire lock) to ensure all pending writes complete before upload - Add diagnostic logging for operation counts at key stages Test: High volume sync with 50 tasks + 49 mark-as-done (197 ops total) now correctly syncs all done states via piggyback (100) + download (97). |
||
|---|---|---|
| .. | ||
| ai | ||
| promotion | ||
| screens | ||
| sync | ||
| add-new-integration.md | ||
| build-and-publish-notes.md | ||
| ENV_SETUP.md | ||
| github-access-token-instructions.md | ||
| gitlab-access-token-instructions.md | ||
| how-to-rate.md | ||
| howto-refresh-snap-credentials.md | ||
| legacy-webview-analysis.md | ||
| mac-app-store-code-signing-guide.md | ||
| performance-project-tag-report.md | ||
| plugin-development.md | ||
| update-android-app.md | ||
| update-mac-certificates.md | ||