super-productivity/eslint-local-rules
Johannes Millan b3022c7285 fix(sync): rename skipDuringSync to skipWhileApplyingRemoteOps
- Rename operator to be more descriptive of actual behavior
- Add deprecated alias for backwards compatibility
- Remove inner guards from effects - inject() only works during class
  initialization, not inside switchMap callbacks at runtime
- Keep outer guards only (at createEffect level)
- Update ESLint rule to accept both names
- Add comprehensive unit tests for the operator (6 tests)

Key insight: The skipWhileApplyingRemoteOps() operator uses inject()
internally, which only works within Angular's injection context (during
class field initialization when createEffect() is called). Using it
inside switchMap callbacks causes NG0203 errors at runtime.

Also: currentTaskId$ is local UI state that doesn't sync between devices.
The operation log syncs entities (tasks, projects, tags), not UI state.
Therefore distinctUntilChanged() is sufficient for filtering spurious
emissions on inner observables.
2025-12-28 18:24:36 +01:00
..
rules fix(sync): rename skipDuringSync to skipWhileApplyingRemoteOps 2025-12-28 18:24:36 +01:00
index.js refactor(sync): centralize entity configuration in single registry 2025-12-23 16:15:17 +01:00