Skip to content

fix(mobile): keep the Pull request chip inside the inbox row - #6408

Merged
iscekic merged 3 commits into
mainfrom
kwf/explorer-pr-review-inbox-the-pull-request-badge-on-the-in-46482-cd62
Sep 21, 2026
Merged

iscekic merged 3 commits into
mainfrom
kwf/explorer-pr-review-inbox-the-pull-request-badge-on-the-in-46482-cd62

Conversation

@iscekic

@iscekic iscekic commented Sep 19, 2026

Copy link
Copy Markdown
Collaborator

Changelog for users

  • The 'Pull request' badge on an inbox row now keeps its right margin and visible rounded edge.
  • A long branch ref line ellipsizes instead of pushing the badge past the right screen edge.
  • Draft rows keep both the 'Pull request' and 'Draft' badges fully inside the row.

Changelog for maintainers

  • The ref · age text is now the row's flexible value: it can shrink and ellipsize to one line.
  • The provider and draft chips are pinned to their full width, so their rounded pill is never squeezed or clipped.
  • This reuses the same pattern as the existing refs row in the PR overview; review both for consistency.
  • New mounted tests assert the flexible text and the full-width chips for a long ref and a draft row.

E2E proof

[e1] On a 360dp dark phone, the inbox long-ref row's 'Pull request' chip sits inside the row, rounded end visible, clear of the screen edge — android emulator-5554, 720x1600@320dpi (360dp) night (e1-device-state.log: 'Override size: 720x1600', 'Night mode: yes'); stub inbox (e1-stub-start.log, e1-checks.log ok:true count:1). e1-scene.log 'SCENE e1 OK': row 'kilo-stub/discussion-conversation-only#2 · 6 months ago' [42,747][476,775] with chip 'Pull request' [504,747][611,775]; chip right ~627 is inside the row content edge 678 (Open [42,397][678,485]) and 93px clear of the 720px edge; ref text shrank (434px/54 chars vs 426px/42 chars] so the chip keeps its full 107px width. Packed tree, no staging edit. No UX-DEFECT in the digest…

[e1] On a 360dp dark phone, the inbox long-ref row's 'Pull request' chip sits inside the row, rounded end visible, clear of the screen edge — e2e-mobile-app/e1.png

[e2] Draft inbox row renders both 'Pull request' and 'Draft' chips inside the row with no clipping — android emulator-5554, 720x1600@320dpi (360dp) night (e2-device-state.log). Stub cannot yield a draft INBOX row (server.mjs inboxNode hardcodes isDraft:false), so the draft state was created with a temporary toGitHubInboxRows fixture in apps/mobile/src/lib/pr-review/use-provider-inbox.ts and reverted (git status clean). e2-scene.log 'SCENE e2 OK': ref [42,747][389,775], chips 'Pull request' [417,747][524,775] and 'Draft' [566,747][611,775]; rightmost chip right ~627 is inside the row content edge 678 and clear of the 720 edge, both chips full width (107/45px). No UX-DEFECT in the digest…

[e2] Draft inbox row renders both 'Pull request' and 'Draft' chips inside the row with no clipping — e2e-mobile-app/e2.png

E2E proof — log excerpts

[e1] On a 360dp dark phone, the inbox long-ref row's 'Pull request' chip sits in -> pass :: android emulator-5554, 720x1600@320dpi (360dp) night (e1-device-state.log: 'Override size: 720x1600', 'Night mode: yes'); stub inbox (e1-stub-start.log, e1-checks.log ok:true count:1). e1-scene.log 'SCENE e1 OK': row 'kilo-stub/discussion-conversation-only#2 · 6 months ago' [42,747][476,775] with chip 'Pull request' [504,747][611,775]; chip right ~627 is inside the row content edge 678 (Open [42,397][678,485]) and 93px clear of the 720px edge; ref text shrank (434px/54 chars vs 426px/42 chars] so the chip keeps its full 107px width. Packed tree, no staging edit. No UX-DEFECT in the digest (appearance/rounding is the visual reviewer's; e1.png).
[e2] Draft inbox row renders both 'Pull request' and 'Draft' chips inside the ro -> pass :: android emulator-5554, 720x1600@320dpi (360dp) night (e2-device-state.log). Stub cannot yield a draft INBOX row (server.mjs inboxNode hardcodes isDraft:false), so the draft state was created with a temporary toGitHubInboxRows fixture in apps/mobile/src/lib/pr-review/use-provider-inbox.ts and reverted (git status clean). e2-scene.log 'SCENE e2 OK': ref [42,747][389,775], chips 'Pull request' [417,747][524,775] and 'Draft' [566,747][611,775]; rightmost chip right ~627 is inside the row content edge 678 and clear of the 720 edge, both chips full width (107/45px). No UX-DEFECT in the digest (e2.png).
/home/igor_kilocode_ai/.local/share/kwf/sections/explorer-pr-review-inbox-the-pull-request-badge-on-the-in-46482-cd62/e2e-mobile-app/e1-scene.log
android.widget.TextView PASTE A PULL REQUEST OR MERGE REQUEST LINK tappable [88,230][694,264]
android.view.ViewGroup pr-link-input-row tappable [42,278][587,376]
android.widget.EditText Enter a pull request or merge request URL tappable [44,287][585,367]
android.widget.Button Paste pull request or merge request link tappable [601,289][678,366]
android.widget.Button Open pull request or merge request [42,397][678,485]
android.widget.TextView Open tappable [330,423][389,458]
android.widget.TextView INBOX tappable [88,527][164,561]
android.widget.Button kilo-stub/discussion-mixed#1 tappable [0,561][720,681]
android.widget.TextView Mixed discussion fixture tappable [42,582][625,617]
android.widget.TextView kilo-stub/discussion-mixed#1 · 6 months ago tappable [42,627][468,655]
android.widget.TextView Pull request tappable [496,627][603,655]
android.widget.Button kilo-stub/discussion-conversation-only#2 tappable [0,681][720,801]
android.widget.TextView Conversation-only fixture tappable [42,702][625,737]
android.widget.TextView kilo-stub/discussion-conversation-only#2 · 6 months ago tappable [42,747][476,775]
android.widget.TextView Pull request tappable [504,747][611,775]
android.widget.Button kilo-stub/discussion-empty#3 tappable [0,801][720,921]
android.widget.TextView Empty discussion fixture tappable [42,822][625,857]
android.widget.TextView kilo-stub/discussion-empty#3 · 6 months ago tappable [42,867][469,895]
android.widget.TextView Pull request tappable [497,867][604,895]
android.widget.TextView RECENT tappable [88,949][185,983]
android.widget.TextView No recent reviews tappable [231,1263][489,1312]
android.widget.TextView Paste a link above to start a review — it'll show up here next time. tappable [84,1319][636,1389]
/home/igor_kilocode_ai/.local/share/kwf/sections/explorer-pr-review-inbox-the-pull-request-badge-on-the-in-46482-cd62/e2e-mobile-app/e1-device-state.log
# device state proof (android emulator-5554), captured 2026-09-19T23:45:00Z
device: emulator-5554 platform: android
Physical size: 1080x2400
Override size: 720x1600
Physical density: 420
Override density: 320
Night mode: yes
/home/igor_kilocode_ai/.local/share/kwf/sections/explorer-pr-review-inbox-the-pull-request-badge-on-the-in-46482-cd62/e2e-mobile-app/e1-stub-start.log
WAIT OK services nextjs 2s
$ tsx dev/local/cli.ts restart nextjs
Restarting nextjs (waiting for the old process to shut down)...
Restarted nextjs
WAIT OK services nextjs 2s
github-stub: up at http://127.0.0.1:4790 (tmux kilo-e2e-github-stub-explorer-pr-review-inbox-the-pull-request-badge-on-the-in-46482-cd62), token seeded for e2e-mobile-explorer-pr-review-inbox-the-pull
github-stub: relaunch the app now so the connection query refetches
/home/igor_kilocode_ai/.local/share/kwf/sections/explorer-pr-review-inbox-the-pull-request-badge-on-the-in-46482-cd62/e2e-mobile-app/e1-checks.log
{"ok":true,"count":1}
/home/igor_kilocode_ai/.local/share/kwf/sections/explorer-pr-review-inbox-the-pull-request-badge-on-the-in-46482-cd62/e2e-mobile-app/e2-scene.log
android.widget.Button Paste pull request or merge request link tappable [601,289][678,366]
android.widget.Button Open pull request or merge request [42,397][678,485]
android.widget.TextView Open tappable [330,423][389,458]
android.widget.TextView INBOX tappable [88,527][164,561]
android.widget.Button kilo-stub/discussion-mixed#1 tappable [0,561][720,681]
android.widget.TextView Mixed discussion fixture tappable [42,582][625,617]
android.widget.TextView kilo-stub/discussion-mixed#1 · 6 months ago tappable [42,627][389,655]
android.widget.TextView Pull request tappable [417,627][524,655]
android.widget.TextView Draft tappable [566,627][611,655]
android.widget.Button kilo-stub/discussion-conversation-only#2 tappable [0,681][720,801]
android.widget.TextView Conversation-only fixture tappable [42,702][625,737]
android.widget.TextView kilo-stub/discussion-conversation-only#2 · 6 months ago tappable [42,747][389,775]
android.widget.TextView Pull request tappable [417,747][524,775]
android.widget.TextView Draft tappable [566,747][611,775]
android.widget.Button kilo-stub/discussion-empty#3 tappable [0,801][720,921]
android.widget.TextView Empty discussion fixture tappable [42,822][625,857]
android.widget.TextView kilo-stub/discussion-empty#3 · 6 months ago tappable [42,867][389,895]
android.widget.TextView Pull request tappable [417,867][524,895]
android.widget.TextView Draft tappable [566,867][611,895]
android.widget.TextView RECENT tappable [88,949][185,983]
android.widget.TextView No recent reviews tappable [231,1263][489,1312]
android.widget.TextView Paste a link above to start a review — it'll show up here next time. tappable [84,1319][636,1389]
android.widget.Button Paste a pull request or merge request link tappable [97,1417][624,1505]
/home/igor_kilocode_ai/.local/share/kwf/sections/explorer-pr-review-inbox-the-pull-request-badge-on-the-in-46482-cd62/e2e-mobile-app/e2-device-state.log
# device state proof (android emulator-5554), captured 2026-09-19T23:45:00Z
device: emulator-5554 platform: android
Physical size: 1080x2400
Override size: 720x1600
Physical density: 420
Override density: 320
Night mode: yes
Owner request

Explorer finding: pr-review-inbox: The 'Pull request' badge on the inbox row runs into the right screen edge with no right margin and no visible rounded corner.

The user-agent explorer found this while using the app like a user.
One finding per item; the explorer never edits product code.

Flow: pr-review-inbox
Found on revision: 5327758

Repro:

  1. set this state first: uimode night; size 720x1600; battery 15 discharging; rotate portrait; relaunch; back; the device in dark mode
  2. open the app on emulator-5554
  3. reach pr-review-inbox
  4. the capture shows the defect named below

Observed: The 'Pull request' badge on the inbox row runs into the right screen edge with no right margin and no visible rounded corner.
Expected: the screen renders without this defect

Evidence (from the device run):

Follow-ups (not changed here)

  • not proved live: On a 360dp-wide phone (720x1600) in dark mode, open PR Review with an INBOX row whose ref is long (e.g. chore(kilo-app): bump version to 1.0.13 #6401 · 16 minutes ago): the 'Pull request' chip sits fully inside the row, its rounded right end is visible, and it is clear of the screen edge. (no capture cited it)
  • not proved live: Open a draft inbox row on the same screen: both the 'Pull request' and 'Draft' chips render inside the row with rounded ends and no clipping. (no capture cited it)

Open findings (not fixed here)

  • not proved live: pr-review-inbox.png is no longer on the host that took it, so no publish can carry it

Explorer finding: pr-review-inbox: The 'Pull request' badge on the inbox row runs into the right screen edge with no right margin and no visible rounded corner.

The user-agent explorer found this while using the app like a user.
One finding per item; the explorer never edits product code.

Flow: pr-review-inbox
Found on revision: 5327758

Repro:
1. set this state first: uimode night; size 720x1600; battery 15 discharging; rotate portrait; relaunch; back; the device in dark mode
2. open the app on emulator-5554
3. reach pr-review-inbox
4. the capture shows the defect named below

Observed: The 'Pull request' badge on the inbox row runs into the right screen edge with no right margin and no visible rounded corner.
Expected: the screen renders without this defect

Evidence (from the device run):
- ~/.local/share/kwf/findings/explorer-pr-review-inbox-the-pull-request-badge-on-the-in-46482b01/pr-review-inbox.png
@kilo-code-bot

kilo-code-bot Bot commented Sep 19, 2026 •

Copy link
Copy Markdown
Contributor

Code Review Summary

Status: No Issues Found | Recommendation: Merge

Reviewed a two-file mobile change that makes the inbox row's ref · age text the flexible value (min-w-0 shrink + numberOfLines={1}) and pins the provider/draft chips at full width (shrink-0), plus mounted tests asserting those classes. The fix matches the established PrRefsRow pattern in pr-review-overview-parts.tsx, uses the same min-w-0 shrink convention already applied to Text elsewhere in the app, and introduces no new state, effects, or subscriptions (no memory-leak surface). No defects found in the changed lines.

Files Reviewed (2 files)
  • apps/mobile/src/components/pr-review/pr-review-inbox-list.tsx
  • apps/mobile/src/components/pr-review/pr-review-inbox-list.mounted.test.tsx

Reviewed by deepseek-v4.1-flash · Input: 0 · Output: 0 · Cached: 0

Review guidance: REVIEW.md from base branch main

@iscekic

iscekic commented Sep 20, 2026

Copy link
Copy Markdown
Collaborator Author

This description names a scenario the proof did not capture:

  • not proved live: On a 360dp-wide phone (720x1600) in dark mode, open PR Review with an INBOX row whose ref is long (e.g. chore(kilo-app): bump version to 1.0.13 #6401 · 16 minutes ago): the 'Pull request' chip sits fully inside the row, its rounded right end is visible, and it is clear of the screen edge. (no capture cited it)

A repeated proof run rebuilds the same evidence, so no proof run is dispatched for a named gap. Merging with this gap open is your decision.

@iscekic iscekic added the human-ready The PR is ready for human review. label Sep 20, 2026
@iscekic iscekic self-assigned this Sep 20, 2026

@eshurakov eshurakov left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Approved after a shallow triage pass. No blocking findings.

@iscekic
iscekic merged commit 5b071ca into main Sep 21, 2026
28 checks passed
@iscekic
iscekic deleted the kwf/explorer-pr-review-inbox-the-pull-request-badge-on-the-in-46482-cd62 branch September 21, 2026 22:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

human-ready The PR is ready for human review.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants