Introduce an account-wide sync-flag map that is the single server-side authority for which settings each client sends/fetches, plus value columns for two newly-syncable device-local prefs. - models.UserSettings: sync_flags (JSON), cache_months, month_view_paged - main._migrate(): idempotent ALTER TABLE for the three new columns - settings_router: DEFAULT_SYNC map + _resolve_sync_flags(); GET returns fully-resolved sync_flags (+ cache_months, month_view_paged); PUT accepts and merges a partial sync_flags map and the two new value fields Rollout defaults: settings that already lived on the server sync ON; the four newly-syncable prefs (language, share icon, cache range, month paging) sync OFF until the user opts in. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
18 KiB
18 KiB