super-productivity/src/app
Johannes Millan 8a06b75923 fix(sync): guard forceUpload and block WS download during encryption ops
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).
2026-06-13 16:57:01 +02:00
..
core fix(android): keep header below status bar on Android <15 (#8283) (#8373) 2026-06-13 14:22:14 +02:00
core-ui build(lint): enforce Log helpers over console.* in src/app (#8239) 2026-06-10 13:08:17 +02:00
features fix(simple-counter): reject negative counter values (#8380) 2026-06-13 15:13:26 +02:00
imex fix(sync): guard forceUpload and block WS download during encryption ops 2026-06-13 16:57:01 +02:00
op-log fix(sync): guard forceUpload and block WS download during encryption ops 2026-06-13 16:57:01 +02:00
pages style(habits): allow dynamic title width up to screen bounds (#8242) 2026-06-10 16:06:03 +02:00
pfapi
plugins fix(plugins): stop leaked timers on plugin disable via onUnload hook (#8286) 2026-06-12 17:09:28 +02:00
root-store build(lint): enforce Log helpers over console.* in src/app (#8239) 2026-06-10 13:08:17 +02:00
routes
ui fix(focus-mode): make duration-slider blur-on-Enter opt-in so dialogs still submit (#8367) 2026-06-13 12:58:26 +02:00
util fix(android): suspend idle AudioContext in background to stop battery drain (#8243) (#8280) 2026-06-12 14:55:24 +02:00
app.component.html
app.component.scss
app.component.spec.ts
app.component.ts Merge master and address PR review findings 2026-06-10 19:17:54 +02:00
app.constants.ts fix(android): pause web-layer 1s tick while app is backgrounded (#8243) (#8272) 2026-06-11 15:16:40 +02:00
app.guard.spec.ts
app.guard.ts
app.routes.ts
package.json
rxjs-to-promise.polyfill.ts
t.const.ts UI improve idle buttons (#8290) 2026-06-13 11:33:26 +02:00
test-harness-async-action-guard.spec.ts