[Bug]: Question card jumps between expanded and collapsed layouts when the pointer hovers an option with a preview
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 72/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- react, typescript
- Domain
- frontend
Research direction
Start in apps/web and read ComposerPendingUserInputPanel.tsx, where the issue says the option preview is rendered and focusedOption controls it. Reproduce with an AskUserQuestion containing options with and without previews, then inspect how the card behaves as the pointer moves. Done means the card and thread stay in place while moving over options, with any preview remaining usable.
Written by the indexing model from the issue text.
Description
Area
apps/web
Steps to reproduce
- Run a Claude thread where the agent calls
AskUserQuestionwith 2+ options. At least one option, the first here, has apreview. The others have none. - Wait for the pending question card above the composer.
- Move the pointer over the card and the options.
Expected behavior
The card keeps its height. The surrounding thread view stays still while the pointer moves over the options.
Actual behavior
When the pointer reaches an option, the card grows to include the preview pane ("Preview · Update all 3 parts (Recommended)").
- The card now fills most of the visible area.
- The "Ran 1 command" row and the agent's text above the card are pushed out of view.
- The card gets its own inner scrollbar.
A moment later the card snaps back to its small layout, and the preview is gone. In the 14 s recording the card is small until t≈8s, expanded from t≈8s to t≈11s, and small again at t≈12s. The pointer barely moves.
Likely cause (not verified)
Introduced by #21933 (fix(clients): show question option previews), which was reverted in #22229. In ComposerPendingUserInputPanel.tsx, the preview section is rendered below the option list and sized by its content. Hovering sets focusedOption, which picks the preview. Options without a preview remove the section again. So growing and shrinking the card moves the options under a stationary pointer. That changes which option is hovered, which changes the preview, and the loop repeats.
If the preview is re-landed, reserve a fixed-height slot for it, or don't make the preview depend on hover.
Impact
Cosmetic issue. The card is hard to read and click while it moves, and the thread content jumps.
Environment
macOS (Darwin 27.0.0), T3 Code build containing #21933 (before the revert), Claude Opus 5.5, Extra High effort, Full access.
Screenshots, recordings, or supporting files
Screen recording (14 s) to follow in a comment.
- Dominant language
- TypeScript
- Stars
- 24.8k
- Forks
- 6.4k
- Avg merge
- 10h 8m
- Merged PRs (30d)
- 323
Getting set up
Starts the project's dev container in your browser, under your own GitHub account.
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from pingdotgg/t3code
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
bug needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
Maintainers usually reply within 1 day
-
GitLab errors hide glab's stderr behind a generic "GitLab CLI command failed"Possibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 73/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Maintainers usually reply within 1 day
-
needs more info via-triage
Difficulty 2/5 1-3 hours Newbie friendliness 64/100
pingdotgg/t3code#22054 · 3 comments ·
Maintainers usually reply within 1 day
All issues in pingdotgg/t3code
Similar issues
-
Area/Cloud Needs Triage Type/Bug
Difficulty 1/5 1-3 hours Newbie friendliness 86/100
wso2/product-integrator#2847 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 67/100
bluesky-social/social-app#12118 ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 1/5 Under an hour Newbie friendliness 85/100
Maintainers usually reply within 1 day
-
Player: speed button's accessible name doesn't include its visible textPossibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
heygen-com/hyperframes#6021 ·
Maintainers usually reply within 1 day
-
check:passed streams:edit
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day