Repository navigation
fix(webviews): preserve model trigger while opening columns - #34749
Conversation
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-c05f94d269ac08017254
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Review App of this head (app.zip, kept 1 day)
Gallery before/after for
States
Pick other states with a Passes: CI passes on CI passes on Written by red: cmux-next checks (god files, concurrency, crash safety, l10n); NEW: Shipped in:
|
|
Found 6 test failures on Blacksmith runners: Failures
|
|
Owned by an agent session · session |
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-c05f94d269ac08017254
teamleaderleo
left a comment
There was a problem hiding this comment.
Review (codex gpt-6-astra high, next-review, since=20261104T044117Z): SHIP at 4b2d4c3
SHIP at 4b2d4c3
Visual verdict: no images; Leo tries the build
Static review found no blocking correctness or test-flow issue.
- [P2] [follow-up] [category:ux] [finding:F1] [outcome:pending] No usable after screenshots were supplied (review/images/gallery/README.txt), so visual comparison remains unverified.
Follow-ups:
- [P2] [follow-up] [category:ux] [finding:F1] [outcome:pending] Provide an after capture for visual comparison.
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-c05f94d269ac08017254
3144da1 to
1c28ed9
Compare
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-c05f94d269ac08017254
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-c05f94d269ac08017254
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-c05f94d269ac08017254
This reverts commit 0c3a43c. Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-c05f94d269ac08017254
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-c05f94d269ac08017254
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-c05f94d269ac08017254
|
Review (router-review gpt-6.1-sol xhigh): SHIP at b85cc63 Visual verdict: no images supplied (range review); the visual verdict must come separately. No actionable correctness findings. The focused browser test could not run in the review box because Bun is unavailable. Follow-ups: none |
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-c05f94d269ac08017254
|
The first browser verification of b85cc63 failed: https://github.com/manaflow-ai/cmux/actions/runs/41785768878. Diagnostic run https://github.com/manaflow-ai/cmux/actions/runs/41787800989 identified the failing Folder popup as 200851c shares the scoped listener between both location-picker implementations and uses a latest-close ref to avoid re-subscribing on render. Fresh exact-head review and browser verification are in progress. Finding outcome: comment-6624250457/F3 filed-follow-up #35010 |
|
Review (subagent claude-opus-5-5 medium): SHIP at 200851c Read merge-base..200851c and b85cc63..200851c. LocationPicker now closes through Follow-ups:
|
|
Review (codex, router-review): SHIP at 200851c Reviewer: codex gpt-6-astra high, fast tier. Follow-ups: 1. Each lands as an issue in this repo that links this receipt; the lane that opened the PR fixes it forward. SHIP at 200851c No correctness regressions found by inspection. Browser tests could not run because Bun and dependencies are absent.
Follow-ups:
|
|
Finding outcome: comment-6624794812/F1 filed-follow-up #35011 |
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-c05f94d269ac08017254
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-c05f94d269ac08017254
|
Review (subagent claude-opus-5-5 medium): SHIP at 4ac197e I diffed merge-base 0cdb3ce..4ac197e. The net change is 5+/1- in ModelPicker.tsx. The earlier event and listener code is gone, and composer-menu-dismiss.test.ts matches base. The root cause holds up. An unopened, columns-eligible chip used to render QuickModelMenu's Base UI MenuButton, and the press that set quickOpen remounted it as Columns' own button. The old trigger went away mid-press, so Folder never got its outside-click close. Now Columns' trigger is mounted from the first render. Nothing visible changes:
Follow-ups: none |
|
Review (codex gpt-6-astra high, router-review): SHIP at 4ac197e Visual verdict: no images; Leo tries the build No correctness findings. Runtime tests were unavailable in the review box because Bun and dependencies are absent. Follow-ups:
|
|
Finding outcome: comment-6625531436/F1 filed-follow-up #35011 |
|
The complete browser discriminator passes at 4ac197e: Finding outcome: comment-6624792986/F5 fixed 4ac197e |
|
Review (codex, router-review): SHIP at 79267cf Reviewer: codex gpt-6.1-sol xhigh, fast tier. SHIP at 79267cf Checked trigger lifecycle, lazy catalog loading, focus, and dismissal paths; no actionable findings. Tests weren’t rerun because Bun and dependencies are unavailable. Follow-ups: none |
|
Review (codex, router-review): SHIP at 79267cf Reviewer: codex gpt-6.1-sol xhigh, fast tier. SHIP at 79267cf Visual verdict: no regression observed; all 16 supplied before/after pairs are identical. Reviewed trigger lifecycle, dismissal, focus, lazy catalog access, and existing regression coverage. Tests could not run locally because Bun and dependencies are unavailable. Follow-ups: none |
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
With Folder open, pressing Model could leave both popovers open. The first press replaced the lazy list-menu trigger with the columns-menu trigger before click, so Folder missed its outside dismissal. The lazy families path (#26867) combined with the columns picker (#32980) caused the regression.
Keep the columns trigger mounted from the initial render by providing an empty families list until the rows are needed. Model opens and Folder closes in one press. Catalog rows stay lazy. Design:
design/model-picker.md.Observed / Not run
cmux-ci test --at 4ac197e6887382445560055e9d4eee1ed32cae1d --setup playwright --timeout 1800 -- bash -c 'cd webviews && CMUX_BROWSER_TESTS=1 bun test test/composer-menu-dismiss.test.ts': 64 pass, 0 fail, including the 760 px chat and New Tab switches in Chromium and WebKit.Risk: first-open trigger lifecycle. Existing browser coverage exercises chip switching, toggling, Escape, outside presses and selection. Root-cause evidence is in #35010.
Changelog
Fixed composer Folder-to-Model switching leaving two popovers open.
🤖 Generated with Codex
Agent session: agent session