feat: add hidden cloud sync foundation
4 months ago
Authored
mweinbachAdd disabled-by-default cloud sync settings, provider abstraction, redaction, durable queue, and fire-and-forget desktop persistence hook.
Hide existing Privacy & Telemetry cloud sync UI and document the v1 allowlist/forbidden data contract.
Cover normalization, redaction, provider validation, queue retry/dedupe, no-op modes, and hidden UI regression tests.
Parentc364815
27 files changed
- apps/desktop/electron/ipc/types.ts+3−0
- apps/desktop/electron/ipc/workspace.ts+5−0
- apps/desktop/electron/main.ts+17−1
- apps/desktop/electron/services/persistence.ts+11−1
- apps/desktop/electron/services/shutdown.ts+6−0
- apps/desktop/src/app/store.actions/bootstrap.ts+19−0
- apps/desktop/src/app/store.helpers.ts+2−0
- apps/desktop/src/app/store.helpers/persistence.ts+2−0
apps/desktop/src/app/store.ts
+2
−0
apps/desktop/src/app/types.ts+9−0apps/desktop/src/lib/desktopSchemas.ts+20−0apps/desktop/src/lib/webWorkspaceState.ts+3−1apps/desktop/src/ui/settings/pages/PrivacyTelemetryPage.tsx+1−13apps/desktop/test/desktop-schemas.test.ts+16−0apps/desktop/test/persistence-state-sanitization.test.ts+38−0apps/desktop/test/privacy-telemetry-page.test.tsx+3−6apps/desktop/test/privacy-telemetry-settings.test.ts+42−1docs/cloud-sync.md+74−0docs/privacy-telemetry.md+2−3src/server/webDesktopService.ts+4−0src/sync/CloudSyncProvider.ts+15−0src/sync/providers/customHttp.ts+119−0src/sync/queue.ts+162−0src/sync/redaction.ts+259−0src/sync/service.ts+216−0src/sync/types.ts+160−0test/sync.cloud-sync.test.ts+374−0