mirror of
https://github.com/johannesjo/super-productivity.git
synced 2026-07-19 17:36:25 +00:00
Follow-ups to the #8309 in-tab sync-cycle guard: - forceUpload() now claims SyncCycleGuard (released in finally), mirroring _forceDownload(), so its setLastServerSeq bookkeeping and session-validation latch can't race the immediate-upload / WS-download side channels. All forceUpload call sites are deferred snackbar/dialog callbacks that run after the originating cycle released the guard, so it cannot self-skip. - WsTriggeredDownloadService now skips downloads while an encryption operation is in progress (isEncryptionOperationInProgress), mirroring ImmediateUploadService, so a WS notification can't trigger a download/decrypt while keys or a full-state import are mid-flight (e.g. password change, which does not hold the cycle guard). Read via lazyInject() to break the DI cycle (SyncWrapperService injects WsTriggeredDownloadService to start/stop the WS). |
||
|---|---|---|
| .. | ||
| core | ||
| core-ui | ||
| features | ||
| imex | ||
| op-log | ||
| pages | ||
| pfapi | ||
| plugins | ||
| root-store | ||
| routes | ||
| ui | ||
| util | ||
| app.component.html | ||
| app.component.scss | ||
| app.component.spec.ts | ||
| app.component.ts | ||
| app.constants.ts | ||
| app.guard.spec.ts | ||
| app.guard.ts | ||
| app.routes.ts | ||
| package.json | ||
| rxjs-to-promise.polyfill.ts | ||
| t.const.ts | ||
| test-harness-async-action-guard.spec.ts | ||