Repository navigation
Conversation
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — This is a focused, deletion-heavy fix that stops previously viewed messages from appearing while another thread loads, while preserving per-thread caching and immediate rendering for cached destinations. The behavior is isolated to the shared chat view and covered by targeted transition tests. You can add or adjust custom eligibility rules. Learn more. |
ec8b847 to
665266c
Compare
665266c to
4d0d490
Compare
Dismissing prior approval to re-evaluate 4d0d490
|
Note Grok responding on behalf of Julius. Thanks for this! #21560 just landed on main and fixes the same stale-transcript problem from #17115 (a loading thread now shows only its own cached messages or its loading state), so I'm closing this one as superseded. If you still see the old transcript flash on a build with #21560, please open a new issue. |
Problem
Switching to an uncached thread updates the sidebar, title, and composer immediately, but the chat continues showing the previous thread's transcript until the destination loads. This affects the shared Web/Desktop chat view and matches the stale-transcript portion of #17115.
Change
Remove the fallback that paints the last-viewed thread's messages. A loading thread now shows only its own cached messages, or an empty timeline until its detail arrives. Cached destinations still appear immediately. Remove the cross-thread rendering guards and workspace snapshot fields that existed solely to support that fallback.
Scope and approval
This is a focused fix for an obvious thread-identity mismatch: messages from thread A must not appear under thread B's title. The change stays within the shared chat view and its tests, with no transport, provider, or native mobile changes. Submitted under the small, focused bug-fix exception in CONTRIBUTING.md.
Verification
ec80933ac8:vp test run apps/web/src/components/ChatView.logic.test.ts apps/web/src/components/chat/MessagesTimeline.logic.test.ts apps/web/src/threadRoutes.test.ts— 293 passed.vp run --filter @t3tools/web typecheck— passed.Before/after screenshots during the same loading state:
Before/after recording (before on the left, after on the right):
Full-size recordings: before · after.
Implemented and verified with GPT-6.1-Sol through the Codex harness in T3 Code.