mirror of
https://github.com/johannesjo/super-productivity.git
synced 2026-07-17 16:37:43 +00:00
#7995 rejects a never-synced client's onboarding example-task UPLOAD ops when it adopts a populated remote, but on the SuperSync (op-based) path adoption MERGES remote ops into the store rather than replacing it, so the example *entities* lingered in local NgRx state. Left there, a later full-state snapshot upload (forceUploadLocalState / enable-encryption) would re-snapshot and re-upload them, re-polluting the remote — `isExampleTask` lives only on the op, never the Task entity, so the snapshot cannot tell them apart. In the same gated #7995 cleanup block, after rejecting the create ops, also dispatch the shared bulk `deleteTasks` (scrubbing project.taskIds / backlog / tag ordering refs in one meta-reducer pass) with `meta.isRemote: true`. That makes the capture meta-reducer skip op-capture — so NO Delete op is created and nothing uploads a delete for a task the server never had — and keeps the LOCAL_ACTIONS effects (plugin TASK_DELETE, reminder cascade) from firing for throwaway scaffolding. Same primitive ValidateStateService and the op-replay path use; the state reducers still run. Ids derive only from the local pending example-create ops, never remote ops. Tests: +3 unit cases (operation-log-sync.service.spec) asserting the isRemote dispatch fires only on the gated condition and rejects only the create ops; a docker-only e2e asserting clean local state + no cross-device propagation. |
||
|---|---|---|
| .. | ||
| long-term-plans | ||
| plans | ||
| promotion | ||
| research | ||
| screens | ||
| sync-and-op-log | ||
| wiki | ||
| add-new-integration.md | ||
| apple-release-automation.md | ||
| build-and-publish-notes.md | ||
| documentation-guide.md | ||
| ENV_SETUP.md | ||
| github-access-token-instructions.md | ||
| gitlab-access-token-instructions.md | ||
| how-to-rate.md | ||
| howto-refresh-snap-credentials.md | ||
| i18n-script-usage.md | ||
| legacy-webview-analysis.md | ||
| mac-app-store-code-signing-guide.md | ||
| performance-project-tag-report.md | ||
| plugin-development.md | ||
| styling-guide.md | ||
| theming-contract.md | ||
| TRANSLATING.md | ||
| unused-translations-analysis.md | ||
| update-android-app.md | ||
| update-mac-certificates.md | ||