super-productivity/docs/plans
Johannes Millan d1ff7963d0
fix(sync): rebase repair op clocks on the durable clock (#8939) (#9080)
The REPAIR paths built their vector clock from the per-tab in-memory
clock cache and then REPLACED the durable clock with it. A stale cache
(another tab advanced the clock) regressed the durable clock, letting
subsequent captures reuse counters already shipped — silently corrupting
cross-device dominance comparisons.

- createRepairOperation: route through
  appendMixedSourceBatchSkipDuplicates; the in-transaction rebase makes
  regression unrepresentable. State cache stores the clock actually
  written.
- replaceRejectedRepair: rebase the replacement clock onto the durable
  clock inside its transaction (shared rebaseLocalClockOnDurable helper).
- Drop client-side clock pruning from repair op building: inert under
  the rebase, and it dropped client IDs the server still tracks (false
  CONCURRENT). Server prunes after conflict detection.
- Rename appendWithVectorClockUpdate -> appendWithVectorClockOverwrite
  and document the derivation invariant; the capture path (its only
  remaining production caller) already satisfies it.
2026-07-16 17:13:57 +02:00
..
2026-03-22-advanced-onboarding-design.md feat(onboarding): add lightweight onboarding hints 2026-03-22 19:50:24 +01:00
2026-05-21-clean-slate-data-loss-prevention.md fix(sync): rebase repair op clocks on the durable clock (#8939) (#9080) 2026-07-16 17:13:57 +02:00
2026-05-28-android-keyboard-resize-jank.md feat(focus-mode): focus screen UX overhaul (#7586) 2026-06-12 11:59:56 +02:00
2026-06-05-project-completion.md feat(project): project completion experience (#8036) 2026-06-08 13:43:38 +02:00
2026-06-22-android-keyboard-and-systembars-handover.md docs(android): document SDK 28 (API 28) behind-keyboard add-task bar root cause (#8528) 2026-06-22 13:27:45 +02:00
2026-06-22-android-systembars-migration-corrected.md feat(android): migrate edge-to-edge to built-in SystemBars (#8543) 2026-06-22 16:07:06 +02:00
2026-06-30-plainspace-super-productivity-connect-flow.md feat(plainspace): Collaborate-on-Plainspace discovery + smoother connect (#8649) 2026-07-01 16:39:34 +02:00
2026-07-03-android-home-screen-widget.md feat(android): add home screen widget for today's tasks (#8737) 2026-07-03 18:32:34 +02:00
2026-07-03-sync-engine-extraction-plan.md docs(sync): add sync simplification roadmap (#9062) 2026-07-16 13:42:38 +02:00
2026-07-07-complete-architecture-review.md fix(op-log): serialize SQLite adapter transactions on the shared connection (#8849) 2026-07-07 18:00:25 +02:00
2026-07-07-ios-home-screen-widget-port.md docs(plans): add iOS home screen widget port plan 2026-07-07 17:08:48 +02:00
2026-07-09-todoist-import.md feat(plugins): add Todoist import plugin with Import/Export launcher (#8882) 2026-07-10 13:30:03 +02:00
2026-07-13-sync-simplification-plan.md docs(sync): add sync simplification roadmap (#9062) 2026-07-16 13:42:38 +02:00
2026-07-14-ios-testflight-master-builds.md fix(sync): file-based provider atomicity & conflict UX (#8960) (#9004) 2026-07-14 19:23:24 +02:00
2026-07-14-microsoft-365-calendar-provider.md fix(sync): file-based provider atomicity & conflict UX (#8960) (#9004) 2026-07-14 19:23:24 +02:00
2026-07-16-conflict-review-cohort-audit.md fix(sync): freeze the conflict-review producers before the next release (#9061) 2026-07-16 14:43:33 +02:00