Repository navigation
fix(next): let composer content follow the chat font size - #26523
Conversation
|
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)
Probably yours: CI failed on
Failures:
Matched log linesNot re-run automatically: Written by red: web / Web status; base red: the same failure on the base 7182156; does not block Gallery before/after for
States
Pick other states with a |
|
Bead |
|
Found 162 test failures on Blacksmith runners: Failures
...and 152 more test failures. View all on Blacksmith
|
|
Review (codex gpt-6-astra high, next-review): SHIP at 674c1b2 No blocking findings. |
…t out the queue's height move in tests #26523 made a queued prompt's line follow the chat font (22.75px at 14px), but the row's actions kept a -2px margin sized for the old 18px line, so they sat 2.4px off the text's centre. The actions now take the line's height. #24718 eases the queue's fitted max-height on the move token. The whole-row checks in agent-pane-queue-collapse and agent-pane-queue-steer measured one or two frames after the list re-fit, mid-transition, and saw rows cut by the still-moving edge. They now wait for the list to settle first. The steer one-line check reads the line height from CSS instead of a fixed 18px.
… scrollbar holds still #26523 made a composer line follow the chat font (22.75px at 14px). The lift that draws the rows up with a growing composer was rounded to whole pixels, so the room under the rows (dock space less the lift) changed by a fraction on every line. That moved the content's rounded scrollHeight and the followed offset by 1px (agent-pane-scrollbar-full-height: top 5129 to 5128, height 5801 to 5800 to 5801). The lift is now the growth exactly; only its cap is rounded.
…ontent-sized menus - composer-edges: #24593 gave the glass card its light rim, a top and a bottom line with no spread. The test counted those as edges, and read their color(srgb … / 0) alpha as 1, so borders none looked like two edges left. It now reads color() alphas and counts the ring (an inset layer with a spread) as the edge. - composer-type-scale: the queued prompts (#26523) and the model picker's menu (#26071, "match composer text size") follow the chat font size (--text-content) on purpose, as the prompt does; the test now lets those surfaces use it.
…rue end With the chat font's fractional line heights (#26523) the transcript's end is fractional. WebKit floors a fractional scrollTop but rounds scrollHeight, so the end as written rested 1px short (agent-pane-jump-latest-motion webkit: fromEnd 1 after Jump to latest). settleFollowBottom now writes the end rounded up, which the browser clamps to its own end, and skips the write once the scroller is already there. test(webviews): the jump test reads the last row where it lays out. A row that arrives live rises 4px into place (cv-enter's translate, #20003). That is drawn only and never moves layout, and the turn footer arriving as the glide lands read as a row under the card.
…h's column composer-alignment-centers (2026-10-27) put the + glyph's center 22 px in from the box (an 8 px grid inset, a 28 px button), replacing Claude desktop's 16 px inset of 2026-10-20; the New Tab's + is an 18 px glyph in a 28 px button 18 px in since #25125. The plain and tray top strips still put their first ink on the old 16 / 18 px content edge: --acpmux-top-strip-edge is now 14 px in the chat's card and 23 px in the New Tab's, the + glyph's box. - composer-row-rhythm checks the + glyph's and the last control's centers 22 px in, not the 16 px glyph inset and a bottom gap equal to the side gap (the bottom now centers on the prompt's last line, which follows the chat font size since #26523). - composer-top-strip-variants measures the New Tab strip on the Default template with Claude's quiet row: since #24519 every other template with the plain footer draws the strip in the quiet row, not over the box.
|
Shipped in:
|
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
Changing Chat Display’s font size now scales the composer’s text, headings and code, New Tab and shell prompts, queued prompts and their editors, and transcript headings and tables. These surfaces previously used fixed type sizes while the conversation body followed the setting.
Leo, word for word: "leo make sure font size everywhere (like text input area) is customizable".
Audit: fixed the rich-text draft and placeholder; inline/fenced code and draft headings; the legacy prompt and New Tab fields; the live New Tab agent, shell and console fields; chat shell mode; queued prompt text and editing; and transcript headings/tables. The regular transcript body, transcript code, and sent-message editor already follow the chat setting. Cmd +/− already changes
agentPane.zoomthrough native whole-pane zoom and scales all webview text, including chrome; that path stays intact. Native Interface Size propagation is separate work in #25703.Composer controls follow the last content line as its height changes, and the minimum composer height and editor caps scale with that line height. Risk: this changes editor geometry at large text sizes; the browser regression exercises 14, 21 and 28px in both themes and chat, new-chat and real New Tab contexts, plus shell and queued editing.
Gallery:
agent-pane.composer/font-size-{chat,new-chat,new-tab}-{14,21,28}.Validation: 40648556110 at
fa4324dc7543ce4d2a3d9d50714cc787536f97f8passes all 7 browser tests (86 assertions) and the full webview check: formatting, lint, types, static gates and protocol codegen. 40647875413 proves all 7 font cases fail on the base, and all 4 existing alignment tests pass on the identical product source. The test cycles 21 → 14 → 28px; shell mode uses the editor's supported typing API, waits for the shell field to be visible, then checks its computed font size. No sleeps. Design-token/type-scale baselines shrink. No new timer or observer; no native source change or app compile.No capture: No native app tour was run because this changes webview typography only, with no native source or glass material changes. The real composer and New Tab gallery captures below exercise all changed text contexts in light and dark.
Generated gallery captures at base
0c8336391b32df85bcdd7db7eac2f3f0f82a54d8and product head4eb0aca6c57d21ce88c80302cd8605e5315fe544(product/gallery source unchanged atfa4324dc7543ce4d2a3d9d50714cc787536f97f8).Chat
New Chat
New Tab
Independent Astra review at
fa4324dc7543ce4d2a3d9d50714cc787536f97f8is pending.Changelog
Fixed: Composer input, New Tab, shell and queued prompts, and Markdown headings and tables follow the chat font size.
Agent session: agent session