Skip to content

fix(mobile): keep the dictation timer from shifting width - #15504

Merged
juliusmarminge merged 1 commit into
mainfrom
t3code/dictation-timer-tabular-nums
Oct 4, 2026
Merged

juliusmarminge merged 1 commit into
mainfrom
t3code/dictation-timer-tabular-nums

Conversation

@juliusmarminge

@juliusmarminge juliusmarminge commented Oct 4, 2026 •

Copy link
Copy Markdown
Member

The dictation timer changed width as its digits ticked, both in the composer and in the edge pill from #15502. Its fontVariant: ["tabular-nums"] did nothing: the app font, DM Sans, has no tnum feature, and its digits range from 312 units wide ("1") to 684 ("0").

The timer now renders in the system font, which honors tabular-nums, the same approach the floating "Working" timer already uses. Both timers share one DictationElapsedTime component.

Verification: mobile typecheck passes, voice-input tests pass (31), targeted lint is clean.

Model: Claude Opus 5.5. Harness: Claude Code in T3 Code.

🤖 Generated with Claude Code


Devin Review

The app font, DM Sans, has no tabular figures, so fontVariant tabular-nums
had no effect and the timer's width changed as digits ticked. Render the
elapsed time in the system font, which honors tabular-nums.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@github-actions github-actions Bot added the vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. label Oct 4, 2026
@juliusmarminge juliusmarminge added the macroscope-review Opt PRs made by unvouched contributors in for Macroscope review. Vouched contributors auto-reviews label Oct 4, 2026
@github-actions github-actions Bot added the size:M 30-99 changed lines (additions + deletions). label Oct 4, 2026
@macroscopeapp

macroscopeapp Bot commented Oct 4, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at 8a7fd9c

Macroscope's review found this PR approvable — This is a contained mobile UI bug fix that preserves dictation behavior while replacing duplicated timer rendering with a system-font component that keeps tabular digits from changing width. Its runtime impact is limited to the existing recording timer displays, with no product-default, static-analysis, schema, or workflow changes.

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

@github-actions

github-actions Bot commented Oct 4, 2026

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 4.9 KiB 4.9 KiB 0 B (0.0%) 6.8 KiB ✅
Codex Thread snapshot wire 3.7 KiB 3.7 KiB 0 B (0.0%) 4.9 KiB ✅
Codex Live turn WebSocket wire 1.2 KiB 1.2 KiB 0 B (0.0%) 2.0 KiB ✅
Codex Live turn WebSocket decoded 20.4 KiB 20.4 KiB 0 B (0.0%) 29.3 KiB ✅
Codex Live turn messages 2 2 0 (0.0%) 8 ✅
Claude Total thread wire 4.9 KiB 4.9 KiB 0 B (0.0%) 6.8 KiB ✅
Claude Thread snapshot wire 3.7 KiB 3.7 KiB 0 B (0.0%) 4.9 KiB ✅
Claude Live turn WebSocket wire 1.2 KiB 1.2 KiB 0 B (0.0%) 2.0 KiB ✅
Claude Live turn WebSocket decoded 20.8 KiB 20.8 KiB 0 B (0.0%) 29.3 KiB ✅
Claude Live turn messages 2 2 0 (0.0%) 8 ✅

Baseline: daa1d0e · PR result: 8a7fd9c · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 106.1 KiB
  • Claude decoded thread snapshot: 106.4 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@juliusmarminge
juliusmarminge enabled auto-merge (squash) October 4, 2026 05:45
@juliusmarminge
juliusmarminge merged commit 930aec1 into main Oct 4, 2026
32 of 34 checks passed
@juliusmarminge
juliusmarminge deleted the t3code/dictation-timer-tabular-nums branch October 4, 2026 05:45
ohbentos pushed a commit to ohbentos/t3code that referenced this pull request Oct 4, 2026
…15504)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
github-actions Bot added a commit to omarcresp/t3code-flake that referenced this pull request Oct 4, 2026
## What's Changed
* fix(server): registry test stubs no longer outlive the test run by @yordis in pingdotgg/t3code#15457
* test(server): the registry's fake Claude CLI is a fixture file, not a generated string by @yordis in pingdotgg/t3code#15463
* refactor(clients): share opening a machine's No project folder by @bmdavis419 in pingdotgg/t3code#14759
* test(server): the git-ssh wrapper's fake SSH script is a fixture file, not a generated string by @yordis in pingdotgg/t3code#15480
* test(server): the ACP registry's fake npm is a fixture file, not a generated string by @yordis in pingdotgg/t3code#15483
* test(server): the ACP registry's fake uv is a fixture file, not a generated string by @yordis in pingdotgg/t3code#15484
* feat(clients): step a new thread to the next machine from the keyboard by @juliusmarminge in pingdotgg/t3code#15391
* fix(web): promoting a draft thread no longer logs a React key warning by @yordis in pingdotgg/t3code#15458
* test(server): the text generation's fake Claude CLI is a fixture file, not a generated string by @yordis in pingdotgg/t3code#15479
* fix(mobile): keep dictation running across navigation behind an edge pill by @juliusmarminge in pingdotgg/t3code#15502
* fix(client-runtime): relay disconnects no longer show as thread errors by @juliusmarminge in pingdotgg/t3code#15470
* fix(web): subagent cards name the provider account by @SunkenInTime in pingdotgg/t3code#15493
* fix(server): read paginated review replies when watching PRs by @eimexdev in pingdotgg/t3code#15427
* fix(server): offer one-click provider updates for every install by @maria-rcks in pingdotgg/t3code#15416
* fix(mobile): keep the dictation timer from shifting width by @juliusmarminge in pingdotgg/t3code#15504
* fix(relay): T3 Connect links no longer fail on colliding prepared statements by @juliusmarminge in pingdotgg/t3code#15411
* fix(server): sqlite transactions wait for the write lock instead of failing by @juliusmarminge in pingdotgg/t3code#15488
* fix(web): unpin button shows the pin-off icon on hover by @flamboh in pingdotgg/t3code#15425
* fix(mobile): make queued message removal tappable by @PixPMusic in pingdotgg/t3code#15417
* fix(web): keep workspace panels below dialogs by @maria-rcks in pingdotgg/t3code#15454
* fix(clients): Working section keeps its order while agents finish and wake by @t3dotgg in pingdotgg/t3code#15418
* feat(mobile): full-screen simulator viewer with on-demand controls by @juliusmarminge in pingdotgg/t3code#15551
* fix(client-runtime): closing a busy stream no longer drops the connection by @t3dotgg in pingdotgg/t3code#15563
* feat(web): add shift-held pull request quick actions by @maria-rcks in pingdotgg/t3code#15549
* fix: expanded tool calls show their output, empty ones don't expand by @maria-rcks in pingdotgg/t3code#15505


**Full Changelog**: pingdotgg/t3code@v0.0.46-nightly.20261004.2644...v0.0.46-nightly.20261004.2648

Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.46-nightly.20261004.2648
github-actions Bot added a commit to davidvanderklay/t3code-flake that referenced this pull request Oct 4, 2026
## What's Changed
* fix(server): registry test stubs no longer outlive the test run by @yordis in pingdotgg/t3code#15457
* test(server): the registry's fake Claude CLI is a fixture file, not a generated string by @yordis in pingdotgg/t3code#15463
* refactor(clients): share opening a machine's No project folder by @bmdavis419 in pingdotgg/t3code#14759
* test(server): the git-ssh wrapper's fake SSH script is a fixture file, not a generated string by @yordis in pingdotgg/t3code#15480
* test(server): the ACP registry's fake npm is a fixture file, not a generated string by @yordis in pingdotgg/t3code#15483
* test(server): the ACP registry's fake uv is a fixture file, not a generated string by @yordis in pingdotgg/t3code#15484
* feat(clients): step a new thread to the next machine from the keyboard by @juliusmarminge in pingdotgg/t3code#15391
* fix(web): promoting a draft thread no longer logs a React key warning by @yordis in pingdotgg/t3code#15458
* test(server): the text generation's fake Claude CLI is a fixture file, not a generated string by @yordis in pingdotgg/t3code#15479
* fix(mobile): keep dictation running across navigation behind an edge pill by @juliusmarminge in pingdotgg/t3code#15502
* fix(client-runtime): relay disconnects no longer show as thread errors by @juliusmarminge in pingdotgg/t3code#15470
* fix(web): subagent cards name the provider account by @SunkenInTime in pingdotgg/t3code#15493
* fix(server): read paginated review replies when watching PRs by @eimexdev in pingdotgg/t3code#15427
* fix(server): offer one-click provider updates for every install by @maria-rcks in pingdotgg/t3code#15416
* fix(mobile): keep the dictation timer from shifting width by @juliusmarminge in pingdotgg/t3code#15504
* fix(relay): T3 Connect links no longer fail on colliding prepared statements by @juliusmarminge in pingdotgg/t3code#15411
* fix(server): sqlite transactions wait for the write lock instead of failing by @juliusmarminge in pingdotgg/t3code#15488
* fix(web): unpin button shows the pin-off icon on hover by @flamboh in pingdotgg/t3code#15425
* fix(mobile): make queued message removal tappable by @PixPMusic in pingdotgg/t3code#15417
* fix(web): keep workspace panels below dialogs by @maria-rcks in pingdotgg/t3code#15454
* fix(clients): Working section keeps its order while agents finish and wake by @t3dotgg in pingdotgg/t3code#15418
* feat(mobile): full-screen simulator viewer with on-demand controls by @juliusmarminge in pingdotgg/t3code#15551
* fix(client-runtime): closing a busy stream no longer drops the connection by @t3dotgg in pingdotgg/t3code#15563
* feat(web): add shift-held pull request quick actions by @maria-rcks in pingdotgg/t3code#15549
* fix: expanded tool calls show their output, empty ones don't expand by @maria-rcks in pingdotgg/t3code#15505


**Full Changelog**: pingdotgg/t3code@v0.0.46-nightly.20261004.2644...v0.0.46-nightly.20261004.2648

Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.46-nightly.20261004.2648
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

macroscope-review Opt PRs made by unvouched contributors in for Macroscope review. Vouched contributors auto-reviews size:M 30-99 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant