Fix collapse of long user messages after switching chats#19
Merged
Conversation
- Rebind user-collapse observers on chat navigation and DOM recycling - Handle attribute mutations + container replacement - Harden unit tests for observer selection/teardown
- Avoid floating promise in navigation coalescing - Avoid unsafe any member access for patch guard
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem\nLong user messages could fail to collapse after switching chats in ChatGPT SPA until a full page refresh.\n\n### Fix\n- Rebind user-collapse on SPA navigation (popstate/pushState/replaceState) with href-based detection and guard against double patching.\n- Handle DOM recycling via attribute-mutation observation and container replacement reattach.\n- Harden unit tests (observer selection + teardown).\n\n### Testing\n- Unit: npm test\n- Manual E2E: Brave via CDP (agent-browser connect 9222), verified toggle appears after switching chats without refresh.