mirror of
https://github.com/johannesjo/super-productivity.git
synced 2026-07-17 16:37:43 +00:00
* fix(sync): guard unprotected selector-based effects against sync replay Add skipWhileApplyingRemoteOps() guards to selector-based effects that were missing hydration protection, preventing unwanted side effects during sync/hydration replay: - tag.effects.ts: cleanupNullTasksForTaskList$ (hidden dispatch via tagService.updateTag inside tap) - reminder-countdown.effects.ts: reminderCountdownBanner$ (banner flash) - voice-reminder.effects.ts: dominaMode$ (unwanted TTS) - task-ui.effects.ts: timeEstimateExceeded$ and timeEstimateExceededDismissBanner$ (unwanted notifications/banners) Also enable the existing require-hydration-guard ESLint rule in eslint.config.js (scoped to *.effects.ts files) to prevent future regressions. The rule was already written but never wired into the linting pipeline. https://claude.ai/code/session_01WcAdr12nsvLdAjubLx1ZLf * fix: address PR review feedback for selector effects guards - Fix require-hydration-guard.spec.js for ESLint v9 (parserOptions → languageOptions) - Upgrade require-hydration-guard severity from warn to error - Restore require-entity-registry rule (also lost in ESLint v9 migration) - Remove unrelated package-lock.json noise https://claude.ai/code/session_01WcAdr12nsvLdAjubLx1ZLf --------- Co-authored-by: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| rules | ||
| index.js | ||