multica/apps/web/features
Naiyuan Qing 060afc848c refactor(web): migrate reaction optimistic updates from cache to UI pattern
Replace cache-level optimistic updates (onMutate with temp IDs) with
TQ v5's UI-level pattern (useMutationState + render-time derivation)
for both issue-level and comment-level reaction toggles.

The cache-level approach caused a race condition: temp IDs in the cache
couldn't be deduplicated against real IDs from WS events, causing
reaction counts to briefly flash incorrect values (e.g. 0→1→2→1).

The UI pattern keeps the cache clean (always server-confirmed data) and
derives optimistic state at render time from pending mutation variables.
WS events safely update the cache without conflicting with temp data.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-08 15:35:52 +08:00
..
auth fix(auth): persist browser session during CLI login flow 2026-04-08 10:22:19 +08:00
editor fix(editor): align IssueMentionCard styling and behavior with Tiptap 2026-04-08 13:47:03 +08:00
inbox fix: restore TQ consumer migrations lost during merge with main 2026-04-07 18:59:09 +08:00
issues refactor(web): migrate reaction optimistic updates from cache to UI pattern 2026-04-08 15:35:52 +08:00
landing refactor: remove agent triggers config field (#469) 2026-04-07 22:02:28 +08:00
modals feat(core): migrate workspace + runtimes to TanStack Query (Phase 3+4) 2026-04-07 17:19:52 +08:00
my-issues feat(core): migrate workspace + runtimes to TanStack Query (Phase 3+4) 2026-04-07 17:19:52 +08:00
navigation feat(ui): route persistence, sidebar active fix, header spacing 2026-03-26 10:57:32 +08:00
realtime fix(web): add global WS handlers for per-issue cache invalidation 2026-04-08 15:21:14 +08:00
runtimes fix: restore TQ consumer migrations lost during merge with main 2026-04-07 18:59:09 +08:00
skills feat(core): migrate workspace + runtimes to TanStack Query (Phase 3+4) 2026-04-07 17:19:52 +08:00
workspace feat(core): migrate workspace + runtimes to TanStack Query (Phase 3+4) 2026-04-07 17:19:52 +08:00