multica/apps/web/core
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
..
inbox fix(core): add onSettled invalidation to all optimistic mutations + enable refetchOnReconnect 2026-04-07 19:07:37 +08:00
issues refactor(web): migrate reaction optimistic updates from cache to UI pattern 2026-04-08 15:35:52 +08:00
runtimes 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
hooks.ts feat(web): add TanStack Query infrastructure (Phase 0) 2026-04-07 14:43:51 +08:00
index.ts fix: mention closure, onSettled invalidation, cleanup singleton 2026-04-07 17:53:49 +08:00
provider.tsx fix: mention closure, onSettled invalidation, cleanup singleton 2026-04-07 17:53:49 +08:00
query-client.ts fix(core): add onSettled invalidation to all optimistic mutations + enable refetchOnReconnect 2026-04-07 19:07:37 +08:00