Skip to content

cmux NEXT: scale chat text with font-size shortcuts - #26628

Merged
teamleaderleo merged 23 commits into
feat-cmux-nextfrom
lane/nx-composer-font-shortcuts
Nov 1, 2026
Merged

teamleaderleo merged 23 commits into
feat-cmux-nextfrom
lane/nx-composer-font-shortcuts

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 28, 2026 •

Copy link
Copy Markdown
Collaborator

Lawrence via Leo: “leo make sure font size everywhere (like text input area) is customizable”.

In a focused Agent Chat, Cmd +/−/0 now changes Settings > Appearance > Chat Font Size, the same setting the composer and transcript use in #26577. The existing workspace font-size action still changes Ghostty terminals when a terminal is focused. Agent Chat page zoom remains available through its View menu, palette, and CLI actions. Repeated presses are serialized per app instance, so rapid Cmd + presses each count.

The app test covers terminal isolation, chat increase/decrease/reset, a rapid two-press sequence, and the 28-point setting limit. The shortcut test checks that Home, chat, and terminal resolve to their proper actions. This is the native companion to #26577.

Validation at aeab59d02e1ec29188f98b8671d0440074e7f051:

  • Merged feat-cmux-next at ea29e41bc6d35be421f8b99ad23213055d8aeee1; generated palette/CLI/shortcut references are current. The 102 removed shortcut-doc lines are the three page-zoom shortcuts removed from the catalog.
  • The preceding base-merged head's Release compile passed (run 41185384118). This final repair also restricts chat-font redirection to in-app user invocations: CLI/MCP/automation workspace-font commands retain terminal behavior, even when a chat is selected. A regression covers every automation origin and socket calls claiming user origin. Fresh native compilation is required for this source change.
  • The earlier focused run exposed a fixture assumption: startup may select a chat, so a supposed terminal action queued an extra font write (17 instead of 16). The test now selects and confirms a real terminal before checking isolation, and asserts no font write was queued there. No product behavior was changed.
  • Fresh focused fleet head gate 8bfd12f63b17d3dbb85b3071 covers AgentChatFontSizeShortcutTests, HomeZoomKeyTests and KeybindingsFocusConflictTests. Base gate 162b718512cd96977d81872d covers the existing shortcut suites at ea29e41bc6d35be421f8b99ad23213055d8aeee1. Pending; no passing result claimed yet. The older base gate at a8615fda passed both existing suites.
  • Fresh independent exact-head whole-diff review is running. No builds or test suites ran on the agent host. git diff --check passes.

Documentation follow-up: #29016, from the earlier exact-head review, corrects the stale Agent Chat Zoom reset-shortcut help.

Agent session: agent session

@github-actions

github-actions Bot commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

cmux status (one comment, edited in place; each line is updated by the job that owns it)

Review a022759: HQ feed card · gallery before/after runs · checks

App of this head (app.zip, kept 1 day)

gh workflow run reload-build.yml -R manaflow-ai/cmux --ref feat-cmux-next -f tag=pr26628 -f ref=lane/nx-composer-font-shortcuts -f platform=macos -f backend_mode=local

Not verified: macOS jobs did not run: compile and app tests were skipped on a02275935d; ci-status is green without them.

CI passes on a02275935d (run 41281069447 attempt 1).
macOS jobs did not run: compile and app tests were skipped: Fast static checks skipped (the macos job needs both to succeed). Re-run CI once they pass, before merging.

Written by scripts/ci/classify_failures.py (ci-failure-attribution.yml); signatures are its SIGNATURES table. A machine verdict is the runner's fault, not this PR's; yours means the failing file is one this PR changes, also red on main that main's latest full suite fails the same way, seen on other PRs that it failed on another pull request's run lately.

red: cmux-next checks (god files, concurrency, crash safety, l10n); base red: the same failure on the base 921c778; does not block

Default changes

This pull request changes 9 defaults at a02275935d1f (what everyone gets without configuring anything):

  • key.agentPaneZoomIn: - cmd+=
  • key.agentPaneZoomOut: - cmd+-
  • key.agentPaneZoomReset: - cmd+0
  • tunable-source.CmuxNextApp/Handlers/PaneHandlers+Verbs.swift:bindFontSize: "96f6e16e85275818e96acfe1dc6855ef75088e363530bd2092024b3d10ea6cc5" -> "02ff55298bd3a31271b96fa5699134bee3cfe02b7e501fa15adcd5d817573a99"
  • tunable-source.CmuxNextApp/Handlers/PaneHandlers+Verbs.swift:changeChatFontSize: (none) -> "902b39f619c8bfbfee298b620824ff1c67e5795be7af64b9125bddef37ca2344"
  • tunable-source.CmuxNextSettings/AgentPaneDisplaySetting.swift:fontSizeFallback: (none) -> "48f3fb60ff62508c1ae5ea2ac0efcdf343e111cb00d06c97b7ae655e91abbbb6"
  • tunable-source.CmuxNextSettings/AgentPaneDisplaySetting.swift:fontSizePath: (none) -> "15c0e9c0c350a65895437e89be5357360863ae584ee3b705e3b2065a6e48b96b"
  • tunable-source.CmuxNextSettings/AgentPaneDisplaySetting.swift:fontSizeRange: (none) -> "752f8c63970af0a1530335924f707ab1d11908d6ec2655bfa5a54e2528bd8328"
  • tunable-source.CmuxNextSettings/SettingWriter.swift:currentRun: (none) -> "aeebb13bea4cccd3557bdde7d67c715e16b09fbb1efef4611668631e26327f75"

Signed off on this commit by review (carry).

Merge receipt: merged as fb878da96407 with these defaults changed, signed off by review (carry).

Regenerate the snapshot with python3 scripts/ci/defaults_guard.py snapshot.

Shipped in:

@github-actions github-actions Bot added the risk:normal Risk tier (docs/ci/risk-tiers.md) label Oct 28, 2026
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Bead cx-l157zr created for this PR by the cmux coordinator.

@blacksmith-sh

This comment has been minimized.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (codex gpt-6-astra high, next-review): SHIP at 964e1ae

No blocking findings.

  • Non-blocking: AgentChatFontSizeShortcutTests.swift:51 checks the upper limit before the queued write executes. Await services.agentChatFontSizeWrites.latest?.value before asserting, so the test verifies clamping.

Review limited to supplied files; repository lookups were denied by the approval policy. Tests were not run.

@teamleaderleo

teamleaderleo commented Oct 28, 2026 •

Copy link
Copy Markdown
Collaborator Author

Owned by an agent session · session

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

take it

(drain-acpmux helper: a lane pushed 48e2ee8 and aeab59d after this claim, so the PR goes back to that lane. Done before the handback: merged feat-cmux-next at 903b7a7, router-review SHIP at 903b7a7 (#26628 (comment)), and before/after light/dark screenshots added to the body. The new head aeab59d now conflicts with feat-cmux-next and needs its own review; the defaults guard failed at it.)

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (codex, router-review): SHIP at aeab59d

Reviewer: codex gpt-6-astra high, fast tier.

SHIP at aeab59d

Visual verdict: no images; Leo tries the build

Follow-ups: none

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (codex, router-review): SHIP at 3d1a535

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 3d1a535

Visual verdict: no images; Leo tries the build.

  1. [P2][follow-up] [AgentPaneZoomSettingsSchema.swift:9](</tmp/router-review.mJSYaU/work/tree/Packages/macOS/CmuxNext/Sources/CmuxNextSettings/Schema/AgentPaneZoomSettingsSchema.swift:9) still tells users “Cmd-0 resets” Agent Chat Zoom, although Cmd-0 now changes Chat Font Size. The PR body already tracks this as Correct Agent Chat Zoom help after font-size shortcut routing #29016.

Follow-ups:

  • [P2][follow-up] Update the Agent Chat Zoom setting help text and generated settings reference.

@cmux-bot cmux-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cmux-bot approves 3d1a535: an independent review passed this exact head (router-review receipt by teamleaderleo). A push needs a new review; a later BLOCK at this head dismisses this approval.

Leo Li and others added 2 commits November 1, 2026 05:13
Regenerated web/data/next-docs/palette-reference.generated.json with
bun web/scripts/export-next-docs.ts.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-fc739fd2f4e557ae7189
Regenerated web/data/next-docs/palette-reference.generated.json with
bun web/scripts/export-next-docs.ts.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-fc739fd2f4e557ae7189
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (carry): SHIP at 6ae5738 (base merge only since 3d1a535)

The only conflict, twice, was web/data/next-docs/palette-reference.generated.json, regenerated with bun web/scripts/export-next-docs.ts (1256 entries / 186 shortcuts: base's 189 minus this PR's 3 agent-pane zoom shortcuts).

Regenerated web/data/next-docs/palette-reference.generated.json with
bun web/scripts/export-next-docs.ts.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-fc739fd2f4e557ae7189
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (carry): SHIP at a022759 (base merge only since 3d1a535)

The only conflict, each time, was web/data/next-docs/palette-reference.generated.json, regenerated with bun web/scripts/export-next-docs.ts (1258 entries / 186 shortcuts: base's 189 minus this PR's 3 agent-pane zoom shortcuts).

@lawrencecchen

Copy link
Copy Markdown
Contributor

Reverted by #30432. This PR added +67 lines to CmuxNextApp Swift (AppServices.swift +6, Handlers/PaneHandlers+Verbs.swift +61). Together with other merges, the app_lines row of the arch ratchet (scripts/cmux-next/arch_counts.py, physical lines of CmuxNextApp Swift; it only goes down) went red on the feat-cmux-next tip.

How to re-land:

  • Move the chat font-size logic out of CmuxNextApp. Put the write queue and the step/clamp/reset logic (ChatFontSizeWriteQueue, changeChatFontSize) in a package, for example CmuxNextSettings next to AgentPaneDisplaySetting, or CmuxNextActions. Keep only a small call in PaneHandlers+Verbs.swift.
  • The net CmuxNextApp line delta must be 0 or less. Check it with python3 scripts/cmux-next/prepush-gate.py (its arch ratchet runs only locally, not on CI).
  • Open a new PR that reverts Revert "cmux NEXT: scale chat text with font-size shortcuts" #30432 with the move, and add Takes back #30432: <why>.

This branch was previously deployed

3 inactive deployments
artifacts — a0227593 Deployed Nov 1, 2026 by teamleaderleo via add the Windows daemon to the tree #94247
sentry-dsyms — a0227593 Deployed Nov 1, 2026 by teamleaderleo via upload cmux-tui dSYMs to Sentry #94247
ci-routing-agent — a0227593 Deployed Nov 1, 2026 by teamleaderleo via cmux-tui tree preflight #94247
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk:normal Risk tier (docs/ci/risk-tiers.md)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants