The guard pattern that masked the prefill-ref bug fixed in PR #153 is applied across handleSend, handleTaskSubmit, selectChat, refreshFacts, refreshActiveFix, and refreshPreview. Worth either logging the mismatch path or distinguishing expected-stale from unexpected-stale so the next instance of this class of bug surfaces instead of hiding. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1.0 KiB
1.0 KiB
TODO.md
Backlog of work NOT currently active. Read only when
CURRENT_TASK.mdstatus iscomplete. Format:- [ ] short description — optional link to issue/PR
Up next
- No queued backlog yet.
Backlog
- AssistantChatPage
currentChatRefguard is a silent return —handleSend,handleTaskSubmit,selectChat,refreshFacts,refreshActiveFix, andrefreshPreviewall bail withif (currentChatRef.current !== sentForChatId) returnwhen stale. This is by design for chat switching, but it also silently masked the prefill-ref bug fixed in PR #153 — the user just saw "no AI response" with no log, no toast, no Sentry event. Either (a) log aconsole.warn/Sentry breadcrumb on the mismatch path so future drift is visible, or (b) split "expected stale" (chat switch) from "unexpected stale" (ref never updated) so only the latter alerts. Pair with an audit of everycurrentChatRef.current = ...assignment vs everysetActiveChatId(...)call to make sure they're paired everywhere.