Repository navigation
follow-up: carry #24194 stable model menu fix - #24676
Conversation
…ider tabs the menu opens above its chip, so a tab with more or fewer rows moved its top edge and the rail tabs moved out from under the pointer. the list now holds the tallest tab's rows and separators unseen in its grid cell, for the whole opening. (cherry picked from commit b67f160) Agent-Session: https://cmux.com/deeplink/agent?harness=codex&session=01a16b1f-a6cb-7430-97ab-4e969f2e0014&host=big-red
…tab and filter changes scroll to the top (cherry picked from commit 9ff8127) Agent-Session: https://cmux.com/deeplink/agent?harness=codex&session=01a16b1f-a6cb-7430-97ab-4e969f2e0014&host=big-red
…p when there is room (cherry picked from commit 71fb303)
…tions (cherry picked from commit be74e82) Agent-Session: https://cmux.com/deeplink/agent?harness=codex&session=01a16b1f-a6cb-7430-97ab-4e969f2e0014&host=big-red
…w does (cherry picked from commit 724ea2d) Agent-Session: https://cmux.com/deeplink/agent?harness=codex&session=01a16b1f-a6cb-7430-97ab-4e969f2e0014&host=big-red
|
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)
Gates only: only gate jobs failed; see the run. CI failed on Not re-run automatically: only gate jobs failed. Written by red: cmux-next checks (god files, concurrency, crash safety, l10n); no finished base run on e4351b1 to compare; do not merge until green; see lane-rules Stale: these images are of Gallery before/after for
States
Pick other states with a |
|
Found 14 test failures on Blacksmith runners: Failures
...and 4 more test failures. View all on Blacksmith: run 40046164065, run 40046164102
|
Co-authored-by: Lucas Ribeiro <lucascamribeiro@gmail.com> Agent-Session: https://cmux.com/deeplink/agent?harness=codex&session=01a16adc-8920-79f2-bc81-4540a1e1ccc8&host=big-red
|
Bead |
Co-authored-by: Lucas Ribeiro <lucascamribeiro@gmail.com> Agent-Session: https://cmux.com/deeplink/agent?harness=codex&session=01a16adc-8920-79f2-bc81-4540a1e1ccc8&host=big-red
Co-authored-by: Lucas Ribeiro <lucascamribeiro@gmail.com> Agent-Session: https://cmux.com/deeplink/agent?harness=codex&session=01a16adc-8920-79f2-bc81-4540a1e1ccc8&host=big-red
|
Landed with Leo's OK after an independent review (#24676). |
|
Shipped in:
|
…menu, command tray, tool results) Every agent-pane state below has failed gallery health on feat-cmux-next with "play: waitFor did not hold within 5000 ms". Each play waits on something its component no longer does: - composer image-sent-as-path, file-saved-as-path, pdf-attached, image-failed: #24652 moved uploads to chat.upload.begin and falls back to chat.upload only when the host refuses it as unsupported. The frame answered every unmocked call null, so every paste failed with "The upload could not be started." The frame now refuses an unanswered chat.upload.begin as an older host does, unless a variant answers or delays it. Intake also changed on purpose: a pasted .md is saved too (3 chips, not 2), and a pasted PDF or undrawable image goes as a path, so pdf-attached and image-failed now show the PDF card and the failed-image chip from a kept draft (chat.draftAttachments.get), the path that still makes them. - new-tab model-picker-open: #24676's hidden width probe repeats "More models" after the real row, and a text target takes the last match; the hover now targets the menuitem by role. - subagent-tray after-latest-message: #24779 opens a command's live tail only with a connected process source, which the gallery's preview transport never has; the play checks the row opens instead. - transcript tool-result-envelopes: since #24986 the rows scroll the transcript, and the runner's nearest-scroll parked the last row under Jump to latest, which took the click; each row is centered before its click. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a1708f-432e-7f23-a9e8-11c5945da2f6&host=cosmic-gray
…red: health 0-3, part 2) (#25034) * fix(gallery): the pane's sheets come from dev.tsx, as build-agent-pane-web.sh derives them 8125a40 moved build-agent-pane-web.sh from a hand-kept list of `$SRC/...css` lines to the sheets dev.tsx reaches (bundle.mjs --css-inputs-only). galleryHost.ts's agentPaneStylesheets still scraped the script for those lines, found no shared/styles.css and threw, so scripts/gallery/touched.ts (and every gallery health shard on feat-cmux-next) failed before rendering. agentPaneStylesheets now runs the script's own command over dev.tsx, keeps the walk's order, puts Tailwind's entry last as the script does, and strips every sheet's @import (the walk already lists an imported local sheet before its importer, so inlining it again duplicated git.css). The list is memoized; the dev server derives it again when a saved source imports a stylesheet. touched.ts treats dev.tsx like the script: a change to it re-renders every entry. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a1708f-432e-7f23-a9e8-11c5945da2f6&host=cosmic-gray * fix(gallery): stale plays on base gallery health (attachments, model menu, command tray, tool results) Every agent-pane state below has failed gallery health on feat-cmux-next with "play: waitFor did not hold within 5000 ms". Each play waits on something its component no longer does: - composer image-sent-as-path, file-saved-as-path, pdf-attached, image-failed: #24652 moved uploads to chat.upload.begin and falls back to chat.upload only when the host refuses it as unsupported. The frame answered every unmocked call null, so every paste failed with "The upload could not be started." The frame now refuses an unanswered chat.upload.begin as an older host does, unless a variant answers or delays it. Intake also changed on purpose: a pasted .md is saved too (3 chips, not 2), and a pasted PDF or undrawable image goes as a path, so pdf-attached and image-failed now show the PDF card and the failed-image chip from a kept draft (chat.draftAttachments.get), the path that still makes them. - new-tab model-picker-open: #24676's hidden width probe repeats "More models" after the real row, and a text target takes the last match; the hover now targets the menuitem by role. - subagent-tray after-latest-message: #24779 opens a command's live tail only with a connected process source, which the gallery's preview transport never has; the play checks the row opens instead. - transcript tool-result-envelopes: since #24986 the rows scroll the transcript, and the runner's nearest-scroll parked the last row under Jump to latest, which took the click; each row is centered before its click. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a1708f-432e-7f23-a9e8-11c5945da2f6&host=cosmic-gray * fix(gallery): format the command tray play's wait Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a1708f-432e-7f23-a9e8-11c5945da2f6&host=cosmic-gray * fix(gallery): a saved source derives the pane's sheets again; bundle.mjs and its plugins re-render every entry Review (Codex): a source that drops its last stylesheet import kept the sheet until a restart, and a change to bundle.mjs (which now derives the list) touched no entry. Every saved source under src/ derives the list again off the save's path (one run more for saves during a run), and the combined sheet reloads only when the list changed; bundle.mjs and the plugins its --css-inputs-only run loads join touched.ts's EVERYTHING. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a1708f-432e-7f23-a9e8-11c5945da2f6&host=cosmic-gray * fix(gallery): the frame stages uploads as the app does; attachment plays check what their notes say Review (Codex): refusing every unanswered chat.upload.begin sent the gallery down the older single call, so no play exercised begin, chunks and finish. The frame now answers the staged upload as the app's host does (a variant that answers or delays a step takes it over; file-not-attached refuses both, as a host that saves nothing). image-failed checks its text and remove button, pdf-attached its file name, file-saved-as-path each chip's name, note and saved path. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a1708f-432e-7f23-a9e8-11c5945da2f6&host=cosmic-gray * fix(gallery): the frame's staged upload checks a paste's batch as the host does Review (Codex): the frame ignored begin's batch manifest and never answered a batch token, so a several-file paste never ran cloudUploads.ts's continuation. The first begin of a batch gets a token; each later file must present it and be the manifest's next entry, else begin fails. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a1708f-432e-7f23-a9e8-11c5945da2f6&host=cosmic-gray --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…picker-height Every commit of this branch, through 724ea2d, already landed on feat-cmux-next as #24676 (f1f6ba2, "follow-up: carry #24194 stable model menu fix"), and later base PRs (#24224, #24530, #25182, #25183, #25167) built on that code. The conflicts in QuickModelMenu.tsx and model-menu-compact.test.tsx are base's later edits to the same lines, so they resolve to base's side; the height spacer, width probe and check-in-probe behaviour are all in base's version. The branch now matches feat-cmux-next. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-f68ebdd9a3c1704ffb42
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
Carries Lucas Ribeiro’s #24194 model-menu stability improvement onto current
feat-cmux-next. The follow-up preserves the compact menu height/width behavior and its tests while integrating the current base.git diff --checkclean.agent-identity footer
Agent session: big-red
Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Carries Lucas Ribeiro's #24194 fix onto
feat-cmux-nextso the compact model menu no longer shifts while open: the menu holds the tallest tab's height and widest tab's width for the whole opening, so switching provider tabs or typing a filter no longer moves the rail out from under the pointer.Written for commit 7a13c11. Summary will update on new commits.