Skip to content

fix(mobile): use monospace in the Android terminal preview - #23401

Open
only21mil wants to merge 2 commits into
pingdotgg:mainfrom
only21mil:r13/a122-use-monospace-in-the-android-terminal-pr
Open

only21mil wants to merge 2 commits into
pingdotgg:mainfrom
only21mil:r13/a122-use-monospace-in-the-android-terminal-pr

Conversation

@only21mil

Copy link
Copy Markdown
Contributor

Problem

On Android, Settings > Appearance > Terminal uses Menlo for its font-size preview. That Apple font is not available on Android, so the sample falls back to proportional text. Users cannot judge terminal text size from a monospace sample.

This preview sets its own inline fontFamily and does not use the font-mono class, so the Android monospace token never reaches it.

Change

Use Android's system monospace family for the terminal preview. Keep Menlo on other platforms. The existing font-size, line-height, theme colors, and sample text stay the same.

Selecting the Android family directly avoids changing the iOS preview to the code preview's different font family.

Scope and approval

This qualifies for the small obvious bug exception. It corrects the font used by an existing preview, adds no settings, and changes no terminal behavior. No related bug issue was found.

Verification

The base still hard-codes Menlo in TerminalAppearancePreview. Live open and closed PR searches found no competing fix for this preview. The font-customization change in #21987 only touches TextAppearancePreview in this file.

Focused checks passed:

pnpm exec vp fmt --check apps/mobile/src/features/settings/appearance/components/AppearancePreviews.tsx
pnpm exec vp lint apps/mobile/src/features/settings/appearance/components/AppearancePreviews.tsx
pnpm --filter @t3tools/mobile typecheck

On an Android 16 emulator, I ran base and candidate with production JavaScript and opened Settings > Appearance > Terminal with T3 Code dark and a 10.5 pt custom terminal font size. Base shows proportional text; the candidate shows monospace text.

Before, base at 10.5 pt:

Base Android Appearance Terminal section, proportional text at 10.5 pt

After, candidate at the same size and theme:

Candidate Android Appearance Terminal section, monospace text at 10.5 pt

No test was added. This is a purely visual fix, and the repository's verification guidance asks for before/after captures instead of a UI test.

Not checked:

  • iOS before/after screenshots. The iOS value stays Menlo.
  • A signed native Release build or a physical device.

Prior PRs: #4609 by Harshith Goka fixed Android's CSS monospace family. This corrects an inline family that bypasses that fix. #5428 by Julius Marminge added the current terminal sample, which this change preserves. #21987 by Jake Leventhal adds font customization in a different preview; no code is copied from it. No closed PR for this same fix was found.

Production fix, PR description and images written with GPT-6.1 Sol in T3 Code Nightly.

🤖 Generated with GPT-6.1 Sol in T3 Code Nightly

Co-Authored-By: GPT-6.1 Sol <noreply@openai.com>
@github-actions github-actions Bot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:XS 0-9 changed lines (additions + deletions). labels Oct 22, 2026
@macroscopeapp

macroscopeapp Bot commented Oct 22, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Needs Human Approval

Macroscope's review found this PR requires human approval — This small visual fix changes the Android terminal preview's default font from Menlo to the system monospace family while leaving other platforms and preview settings unchanged. Human review is required because the change modifies a product default.

You can add or adjust custom eligibility rules. Learn more.

@coderabbitai

coderabbitai Bot commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Warning

Review limit reached

Only developers with an assigned seat can use this organization's usage-based review budget, and seats here are assigned manually. Ask an admin to assign a seat, or change the review continuation mode in Billing.

Next included review available in 5 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 10 included reviews currently available.

Learn how review limits work.

Review configuration:

Run configuration
Commits

Reviewing files that changed from the base of the PR and between 0fdf7bc and c0c9c68.

Files selected for processing: 1
  • apps/mobile/src/features/settings/appearance/components/AppearancePreviews.tsx

No actionable comments were generated in the recent review.

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Path: .coderabbit.config.ts
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 8691d308-b548-4196-b4a9-6b12757c99ff
📥 Commits

Reviewing files that changed from the base of the PR and between 3b95e78 and 0fdf7bc.

📒 Files selected for processing: 1
  • apps/mobile/src/features/settings/appearance/components/AppearancePreviews.tsx

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 7 remain after this review.

Walkthrough

The terminal appearance preview now uses monospace on Android and continues to use Menlo on other platforms.

Changes: Terminal preview font

Layer / File(s) Summary
Platform-specific font selection
apps/mobile/src/features/settings/appearance/components/AppearancePreviews.tsx
The preview selects monospace on Android and Menlo on other platforms.

Priority: Low

Estimated code review effort: 1 (Trivial) | ~5 minutes

Change: Bug fix

Suggested reviewers: maria-rcks

Merge Risk: Minimal · up to 0fdf7

Android’s settings preview now uses a monospace family while other platforms retain Menlo. No supported mismatch remains that warrants delaying this change.

Pre-merge checks: Passed 4
Check name Status Explanation
Title check Passed The title is concise, specific, and accurately describes the Android terminal preview fix.
Description check Passed The description covers the problem, change, scope approval, verification commands, before/after screenshots, and unverified cases. It is complete and relevant.
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

Copy link
Copy Markdown
Collaborator

Note

Written by gpt-6.1-sol on behalf of Maria

thanks @only21mil. your one-line fix correctly uses android's system monospace family while retaining menlo on ios. i preserved it unchanged and merged current main (b6994c5499) into your branch, without rebasing or force-pushing. final head: c0c9c68e61073ec2ac154b1dc04bab251f336b0b. nothing was dropped or moved; the diff against main is still one line.

verification on this tree:

  • blacksmith vp run check:changed: format, lint, both knip passes, mobile and scripts typechecks passed.
  • blacksmith cd apps/mobile && vp test run src/lib/appearancePreferences.test.ts: 1 passed.
  • final-head ci: 28 successful, none pending or failing in git.cafe; github confirms mergeable. intentionally skipped workflows are not runtime verification.
  • two independent code reviews approved the final head with no findings. existing bot review has no actionable findings.

current-head android rendering remains unverified: this vm has no attached android device, and the device tool reports access disabled. vp run dev started successfully and was stopped, but the web client cannot exercise this native preview. ios, physical devices and signed native builds are also unverified. human approval requested by the existing macroscope review remains outstanding; this takeover does not supply that approval.

historical evidence from your original android 16 run, inspected and reuploaded here. these are matching 10.5 pt dark-theme captures of the original fix, not new captures of the merged head.

original android before: terminal sample uses proportional text at 10.5 pt

original android after: terminal sample uses monospace at 10.5 pt

Copy link
Copy Markdown
Collaborator

Note

Written by gpt-6.1-sol on behalf of Maria

Verified in a real dev environment

no changed behavior could be exercised on this linux vm. this is an unverifiable result, not a runtime pass.

i read the description, discussion, commit authors and one-line diff, and fetched exact head c0c9c68e61073ec2ac154b1dc04bab251f336b0b. the pr is open, with pr commits by only21mil and maria-rcks. the changed path is the native android client: settings > appearance > terminal. it selects android system monospace instead of Menlo; the other platform branch retains Menlo.

runtime prerequisite checks this run:

t3 device_list:
Agent device access is turned off for this environment.

$ timeout 30 adb devices -l
List of devices attached
[no devices]

the test-t3-mobile skill requires stopping verification when device access is unavailable. no dev server, metro, browser substitute, mocks, fixtures or provider turns were started. no code changes were made. git.cafe reports 28 successful checks, zero pending and zero failing; those checks do not prove native rendering.

Not verified

  • original bug on github/main and changed rendering on the exact pr head: no accessible native android device.
  • neighboring behavior: custom terminal font-size toggle and slider, theme colors, text/code previews and preference persistence.
  • native ios rendering, physical devices and signed native builds.
  • real codex gpt-6.1-sol turns through the native client.

no new before/after screenshots or recording could be captured. the historical images in the description and previous comment are not current-run evidence. verification needs device access enabled and an android device, followed by matching main/head captures and exercising the neighboring settings controls.

maria-rcks commented Oct 28, 2026 •

Copy link
Copy Markdown
Collaborator

Note

Written by gpt-6.1-sol on behalf of Maria

Verified on Android emulator (API 35) against a real dev server

verified head c0c9c68e61073ec2ac154b1dc04bab251f336b0b on the t3 x86_64 android 15 / api 35 emulator, using the installed native development client, metro, and an isolated real backend on port 13773. device-panel startup failed because the emulator was already started manually; adb and the repository's agent-device cli drove the running app instead.

created the real android-terminal-verification project through the android app. two real codex gpt-6.1-sol turns ran commands through the local proxy and returned their output in the client. no mocks or seeded conversation data were used for this scenario.

settings > appearance > terminal now renders its actual sample in monospace. the matching before/after images use t3 code dark and 10.5 pt. for the before capture, i temporarily loaded the unchanged preview component from base b6994c5499 into the same runtime and restarted metro with a cleared cache: its Menlo font falls back to proportional text. then i restored the exact head, cleared metro again, and captured the monospace result. this compares the base component, not a full checkout of today's github/main.

the font-size slider changed 10.5 to 12.5 pt and resized the monospace sample. disabling custom size restored the default and hid the slider; enabling it restored the control at 10.5 pt. the selected dark theme and custom preference survived an app restart. adjacent text and code previews retained their respective proportional and monospace fonts. the animated recording shows the slider change and disabling custom sizing; re-enabling was also exercised separately.

no production change or push was needed. the working tree is clean at the original head. git.cafe reports 28 successful checks, zero pending and zero failing; no new static checks were run for this verification-only pass.

before: base component uses proportional terminal text on android api 35 at 10.5 pt

after: exact pr head uses monospace terminal text on android api 35 at 10.5 pt

android font-size slider and custom-size toggle interaction

real codex command output in the paired android client

Not verified

  • ios: this linux vm cannot run the ios simulator. the non-android branch remains Menlo.
  • physical devices, signed release builds, other android api levels, relay/tunnel connections, and other providers.
  • a full runtime comparison against current github/main. the before capture uses the pr's base preview component only.

screenshots were inspected at full resolution. the exported recording was inspected and its uploaded player playback and seeking were checked. this verifies the android change and does not supply the separate human approval requested by the existing review.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XS 0-9 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants