fix(mobile): review guide buttons stay on one line#24764

merged1
main
GitHub fork: fix/pr-button-single-row
opened9d agobyAAlex
View on GitHubTwo-way sync enabledPR last imported 3d ago

Problem

The mobile review guide notice forces its action into a 160-point container. With enlarged system text, “Write guide” wraps onto two lines even though the card has room for the complete label. The longer loading and writing labels also compete with their spinner for this fixed width.

Change

Let the guide action size to its label and spinner. Allow the adjacent “Started” timestamp to wrap onto its own row when necessary. This covers the empty, loading, writing, retry, stale, and rewriting notices in both the PR Guide tab and guide stop screens.

Scope and approval

This is a focused fix for an obvious layout bug, requested with a reproduction screenshot. It changes only the mobile guide notice layout.

Verification

  • Reproduced the two-line label on Android at 1.5× system font scale; the fixed button displays the complete label on one line.
  • Rendered the real GuideNotice and Button components in a temporary native demo fixture, with the app’s typography and appearance providers. Checked empty, loading, writing, failed, unavailable, stale, rewriting, and read-only states. The fixture and layout instrumentation are not included in the change.
  • iPhone small (360×780), Pro (402×874), Pro Max (440×956), Duo folded (466×678) and unfolded (951×669), and iPad (1032×1376). Repeated the small iPhone at XXXL system text size. All action labels stayed on one line, including loading indicators; the timestamp moved below the button when needed.
  • Android phone at default and 1.5× system text size, plus the foldable inner display (2208×1840) and a cover-sized viewport (1080×2092) at 1.5× system text size. The emulator kept the inner display after folding, so the cover check also applied the configured cover geometry with wm size; the override was reset afterward.
  • The Duo pose change reported an unsupported Xcode hinge-angle telemetry command. Both rendered viewport sizes were verified through native screenshots and accessibility snapshots.
  • vp run check:changed passed: format, lint, both knip checks, and affected package typechecks. This is a visual layout fix; no implementation-mirroring UI test was added.
Before · Android 1.5× textAfter · Android 1.5× text
External imageExternal image

Writing guide with the started timestamp

The timestamp stays beside the action on wide layouts and moves below it on narrow layouts. These captures include enlarged system text and show the complete notice panel.

Small iPhone · XXXL textAndroid cover size · 1.5× text
Small iPhone guide panel showing Writing guide and Started 5:00 AM below the buttonAndroid guide panel showing Writing guide and Started 5:00 AM below the button

Wide Android foldable · 1.5× text, with the timestamp beside the button:

Wide Android foldable guide panel showing Writing guide with Started 5:00 AM on the right

Additional native captures: Android writing, small iPhone with larger text, Duo unfolded, iPad.

All 88 native state captures and verification snapshots.

Model: GPT-6.1 Sol, high reasoning effort. Harness: Codex in T3 Code.

Checks

21 successful · 14 skipped
All checks passed
1447ef6
Synced from GitHub

Approvability

Verdict: Approved at a8621ae

Macroscope's review found this PR approvable — This is a small, self-contained mobile layout fix that lets existing review-guide actions size to their content and wrap alongside the timestamp. It does not alter action behavior, data contracts, defaults, deployment, or static-analysis settings.

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

Synced from GitHub

Review in Change Stack →

Important

Review skipped

Review was skipped as selected files did not have any reviewable changes.

External image Run configuration
External image Commits

Reviewing files that changed from the base of the PR and between a8621ae31b6f2a95393429aa891f53025c76d1eb and 1447ef67996a1e99a8dd51587e4c8ad1f18d06ba.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

No actionable comments were generated in the recent review.

External image Recent review info
External image Run configuration
External image Commits

Reviewing files that changed from the base of the PR and between c79ef8c454e1268ff79da5a9dcb74572e86f7861 and a8621ae31b6f2a95393429aa891f53025c76d1eb.

External image Files selected for processing: 1
  • apps/mobile/src/features/pull-requests/guide/GuideNotice.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 pull-request guide action row now allows its contents to wrap. The action button is rendered directly in the row without a fixed-width wrapper or the fullWidth setting. Its label, tone, disabled state, press handler, and loading state remain unchanged.

Changes: Guide action layout

Layer / File(s)Summary
Wrapping action row
apps/mobile/src/features/pull-requests/guide/GuideNotice.tsx
The action row allows wrapping. The button renders directly in the row without a fixed-width wrapper or fullWidth. Its other listed properties remain unchanged.

Priority: External image Low

Estimated code review effort: 2 (Simple) | ~7 minutes

Change: Bug fix

Possibly related PRs

  • pingdotgg/t3code#24189: Both changes address long review-guide action labels in narrow layouts. This PR changes the mobile action row layout.

Suggested reviewers: juliusmarminge

Merge Risk: External image Minimal · up to a8621

The layout change is ready to merge.

Pre-merge checks: Passed 4
Check nameStatusExplanation
Title checkPassedThe title clearly identifies the mobile guide button layout fix and matches the primary change.
Linked Issues checkPassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes checkPassedCheck skipped because no linked issues were found for this pull request.
Description checkPassedThe pull request description includes all required sections: Problem, Change, Scope and approval, and Verification. It explains the layout bug, the implementation approach, the approval rationale, aff…
Full details: Description check

Explanation

The pull request description includes all required sections: Problem, Change, Scope and approval, and Verification. It explains the layout bug, the implementation approach, the approval rationale, affected states and platforms, focused verification results, screenshots, limitations, and the agent model and harness.

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.

Added 1 commit

  • fix(mobile): review guide buttons stay on one line1447ef6

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 Boat VM. This is an unsuccessful verification attempt, not a runtime pass.

Inspected the description, discussion, reviews, commit authors, and diff at 1447ef67996a1e99a8dd51587e4c8ad1f18d06ba. GitHub reports the PR open, with one commit by PixPMusic and no commits by juliusmarminge or t3dotgg. The change only affects the native mobile GuideNotice rendered in the PR Guide tab and guide stop screens: it removes the fixed 160-point action wrapper and permits the action/timestamp row to wrap. It does not change the web client.

Availability transcript:

text
1t3 device_list
2Agent device access is turned off for this environment.
3
4timeout 30 adb devices -l
5List of devices attached
6[no devices]

The repository mobile verification skill requires stopping verification when device tools or the selected device are unavailable. No dev server was started, no code was changed, and no screenshots or video were captured. Existing CI reports 28 successful checks, 0 pending, and 0 failing; that does not prove the native layout works.

Not verified

The original bug on github/main and the fix on the exact PR head remain unverified. No native client was available to exercise enlarged system text, single-line labels and spinners, timestamp wrapping, compact guide-stop notices, write/retry/refresh actions, or neighboring read-only and busy states. No real Codex gpt-6.1-sol provider turn was run through the mobile client. A narrow Playwright web viewport cannot exercise this React Native component. Native iOS and Android verification requires an enabled device host and a real app connection; existing PR demo-fixture captures were not treated as integration proof.

Note

Written by gpt-6.1-sol on behalf of Maria

Verified in a real dev environment

No changed behavior was verified in this attempt. Re-read the description, discussion, reviews, commit authors, exact diff, and current status. GitHub PR #24764 is open at 1447ef67996a1e99a8dd51587e4c8ad1f18d06ba, with one commit by PixPMusic and none by juliusmarminge or t3dotgg. The git.cafe number is also 24764.

The diff changes only native mobile GuideNotice: remove the fixed 160-point action wrapper and allow the button/timestamp row to wrap. Its entry points are the PR Guide screen and guide stop screen. Playwright against the web client cannot exercise this React Native layout. Existing CI reports 28 successful checks, zero pending and zero failing; that is not runtime proof.

Current availability transcript:

text
1device_list
2Agent device access is turned off for this environment.
3
4timeout 30 adb devices -l
5List of devices attached
6[no devices]

The repository mobile verification skill explicitly requires stopping verification when device tools or the selected device are unavailable. No dev server was started, no code or PR head was changed, and no captures were produced or uploaded.

Not verified

The original bug on github/main, the exact PR head in a real native client, enlarged system text, single-line action labels/spinners, timestamp wrapping, compact notices, write/retry/refresh actions, and neighboring busy/read-only states remain unverified. No Codex gpt-6.1-sol turn was run through the mobile client. Neither Android nor iOS integration was exercised. An enabled native device host and app connection are required to complete this verification; existing demo-fixture evidence was not treated as integration proof.