Skip to content

feat(app): change text size with Cmd+Plus, Cmd+Minus and Cmd+0, including messages - #709

Merged
iamnbutler merged 3 commits into
mainfrom
zoom
Oct 27, 2026
Merged

iamnbutler merged 3 commits into
mainfrom
zoom

Conversation

@iamnbutler

Copy link
Copy Markdown
Contributor

Idan wanted bigger message text. View now has Bigger Text (Cmd+Plus or Cmd+=), Smaller Text (Cmd+-) and Actual Size (Cmd+0), and the command palette has the same three. The size is saved and shared across windows.

  • Whole interface: the size sets the root font size (12–24px, default 16), which rem-based sizes already follow.
  • Messages: timeline rows are laid out in JavaScript with fixed-pixel fonts, so rem never reached them. ScrollView takes a scale; rows lay out at width / scale and render under CSS zoom, while heights and scroll offsets stay in viewport pixels, so virtualization is unchanged. The timeline reads the scale from the root font size.
  • Not page zoom: WebKit page zoom would make CSS pixels stop matching window points, which the live view's native overlay is positioned in.

Checked in a dev build: Cmd+= three times took messages from 16px to 20px with correct rewrapping and no overlapping rows; Cmd+- and Cmd+0 went back down. Known gap: the channels sidebar keeps its pixel width, so at large sizes its contents can clip until it's widened.

Built in Ace

No. Claude Code in a terminal wrote this and drove a dev build with Desktop Tools to check it, in the same session as the dogfooding fixes. Tracked under #5.

…ding messages

Why: packages/ui/src/components/scroll-view/scroll-view.tsx#function ScrollView | timeline rows are laid out with fixed-pixel fonts, so text size reaches them only through scale: rows lay out at width / scale under CSS zoom while scroll offsets stay in viewport pixels
@iamnbutler
iamnbutler merged commit e1ab6a2 into main Oct 27, 2026
1 check passed
@iamnbutler
iamnbutler deleted the zoom branch October 27, 2026 19:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant