multica/apps/web/features/issues
Naiyuan Qing d58f6cdb33 fix(web): replace actor_id self-event filtering with idempotent cache updates
actor_id identifies the user, not the browser tab. Filtering WS events
by actor_id broke multi-tab sync — other tabs of the same user would
silently miss updates. Instead, make all WS cache handlers idempotent
(dedup checks on add, no-op on duplicate merge/filter) so mutations and
WS events coexist safely without filtering.

- WSClient: pass actor_id to event handlers for future per-handler use
- use-realtime-sync: remove isSelf() gating from onAny and specific handlers
- useCreateIssue: add .some() dedup guard + onSettled invalidation
- use-issue-reactions: remove payload-level self-filter (dedup already present)
- use-issue-timeline: remove payload-level self-filter on comment:created,
  reaction:added, reaction:removed (dedup already present)
- Clean up useCallback deps that no longer reference userId

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-08 13:57:24 +08:00
..
components Merge pull request #471 from multica-ai/agent/j/959392dd 2026-04-08 12:45:56 +08:00
config feat(web): add kanban board + list view + filtering to My Issues page 2026-04-01 16:56:22 +08:00
hooks fix(web): replace actor_id self-event filtering with idempotent cache updates 2026-04-08 13:57:24 +08:00
stores feat(web): add scope tabs to Issues and My Issues pages 2026-04-01 18:30:40 +08:00
utils feat(issues): add assignee and creator filters with two-level dropdown 2026-03-31 11:04:21 +08:00
index.ts feat(web): add kanban board + list view + filtering to My Issues page 2026-04-01 16:56:22 +08:00
store.ts refactor(issues): migrate all consumers to TanStack Query (Phase 1, Commits 5-10) 2026-04-07 15:46:08 +08:00