Skip to content

fix(mobile): keep PR Review URL placeholder on one line - #6345

Closed
iscekic wants to merge 1 commit into
mainfrom
kwf/explorer-pr-review-the-url-field-s-placeholder-wraps-and-fce9b5-d5c1
Closed

iscekic wants to merge 1 commit into
mainfrom
kwf/explorer-pr-review-the-url-field-s-placeholder-wraps-and-fce9b5-d5c1

Conversation

@iscekic

@iscekic iscekic commented Sep 19, 2026

Copy link
Copy Markdown
Collaborator

Changelog for users

  • The PR Review link field's placeholder renders on one line and is no longer clipped by the field's bottom edge.
  • The placeholder and any typed link stay vertically centered in the field.

Changelog for maintainers

  • numberOfLines={1} on the URL TextInput caps Android's native hint layout at one line; the wrapping hint had drawn below the field bounds and was clipped there.
  • Replaced py-3 with min-h-14 on the input, per the mobile rule that single-line inputs size with min-h-*; vertical padding pushed the centered text and placeholder low.
  • leading-[normal] and the ref-based paste, submit, and clear handling are unchanged.
  • Added a regression test asserting the input is single-line, not multiline, and carries min-h-14 without py-3.
  • Look first at the URL input on Android narrow widths; the input and its wrapping row both use min-h-14, so confirm the field does not grow taller than before.

E2E proof

[e1] PR Review entry screen URL field placeholder — SCENE e1 OK: the entry screen rendered and the single URL field is present — e1-run.log shows 'android.view.ViewGroup pr-link-input-row tappable [55,382][905,516]' and 'android.widget.EditText Enter a pull request or merge request URL tappable [57,384][903,514]'; capture e1.png is for the visual reviewer (the one-line/no-clip claim is appearance, not mine). New empty state also visible: 'No review requests'. State named 'explorer' does not exist; applied pr-review.json (STATE HIT pr-review).

[e1] PR Review entry screen URL field placeholder — e2e-mobile-app/e1.png (capture not retained)

[e2] paste a URL and Open navigates — Owner-manual: clipboard-button paste could not be exercised on Android (paste-preseed.sh is iOS-only; the app's paste button showed 'Clipboard is empty'), so the URL #6054 was entered with real key events, then Open was tapped: e2-field.log shows the field took the value ('android.widget.Button Clear link tappable [783,389][903,508]', Open enabled) and e2-open.log shows the PR review screen it navigated to ('android.widget.TextView KILO-ORG/CLOUD ...', 'android.widget.TextView Merged tappable [105,487][201,524]'); e2-field.png and e2.png are the captures…

[e2] paste a URL and Open navigates — e2e-mobile-app/e2.png (capture not retained)

[e2] paste a URL and Open navigates

[e2] paste a URL and Open navigates — e2e-mobile-app/e2-field.png (capture not retained)

[e1] PR Review entry screen URL field placeholder

[e1] PR Review entry screen URL field placeholder — prior/e1.png

[e2] paste a URL and Open navigates

[e2] paste a URL and Open navigates — prior/e2.png

[e2] paste a URL and Open navigates

[e2] paste a URL and Open navigates — prior/e2-field.png

E2E proof — log excerpts

/home/igor_kilocode_ai/.local/share/kwf/sections/explorer-pr-review-the-url-field-s-placeholder-wraps-and-fce9b5-d5c1/e2e-mobile-app/device.log
e2e-slot: slot-1 already holds this worktree; reusing it
<redacted>
Owner request

Explorer finding: pr-review: The URL field's placeholder wraps and its second line is cut off by the field's bottom edge.

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
Found on revision: fd04ca1

Repro:

  1. set this state first: account e2e-mobile-cloud-android@example.com, $10 credits, 3 Code Reviewer pull requests, one top-level busy session (ses_f488ff9c9ffefhXjlZMDy7Ix8y), display 720x1600, day mode, font 1.0, portrait, event-service down.
  2. open the app on emulator-5554
  3. reach the screen the capture names (pr-review)
  4. the capture shows the defect named below

Observed: The URL field's placeholder wraps and its second line is cut off by the field's bottom edge.
Expected: the screen renders without this defect

Evidence (from the device run):

Production record (automatic, 2026-09-19):

Production record for ses_f488ff9c9ffefhXjlZMDy7Ix8y

Axiom, last 72 h

No line carries this term in: vercel, cloudflare-logpush, supabase-production.

The session row, read replica

No row in cli_sessions_v2 carries ses_f488ff9c9ffefhXjlZMDy7Ix8y.

Log archives, R2 kilocode-sessions

NOT READ: R2 keys are indexed by the agent id, not the session id; take the agent_* from the worker logs above and query that.

Sentry, last 72h

No Sentry issue carries this term.

Follow-ups (not changed here)

  • not proved live: On emulator-5554 with the explorer state (account e2e-mobile-cloud-android@example.com, 720x1600, day mode, font 1.0, portrait), open the app and reach the PR Review entry screen: the URL field's placeholder renders on a single line with no second line and no text clipped at the field's bottom edge. (no capture cited it)

Owner manual verification

Owner verification is pending; these checks did not pass automatically.

  • Owner-manual: clipboard-button paste could not be exercised on Android (paste-preseed.sh is iOS-only;

Open findings (not fixed here)

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

Explorer finding: pr-review: The URL field's placeholder wraps and its second line is cut off by the field's bottom edge.

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
Found on revision: fd04ca1

Repro:
1. set this state first: account e2e-mobile-cloud-android@example.com, $10 credits, 3 Code Reviewer pull requests, one top-level busy session (ses_f488ff9c9ffefhXjlZMDy7Ix8y), display 720x1600, day mode, font 1.0, portrait, **event-service down**.
2. open the app on emulator-5554
3. reach the screen the capture names (pr-review)
4. the capture shows the defect named below

Observed: The URL field's placeholder wraps and its second line is cut off by the field's bottom edge.
Expected: the screen renders without this defect

Evidence (from the device run):
- ~/.local/share/kwf/findings/explorer-pr-review-the-url-field-s-placeholder-wraps-and-fce9b5ce/pr-review.png

Production record (automatic, 2026-09-19):
## Production record for `ses_f488ff9c9ffefhXjlZMDy7Ix8y`

### Axiom, last 72 h
No line carries this term in: `vercel`, `cloudflare-logpush`, `supabase-production`.

### The session row, read replica
No row in `cli_sessions_v2` carries `ses_f488ff9c9ffefhXjlZMDy7Ix8y`.

### Log archives, R2 `kilocode-sessions`
NOT READ: R2 keys are indexed by the agent id, not the session id; take the agent_* from the worker logs above and query that.

### Sentry, last 72h
No Sentry issue ca
@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

Files Reviewed (2 files)
  • apps/mobile/src/components/pr-review/pr-review-entry-screen.tsx
  • apps/mobile/src/components/pr-review/pr-review-entry-screen.test.ts

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

Review guidance: REVIEW.md from base branch main

@iscekic

iscekic commented Sep 19, 2026

Copy link
Copy Markdown
Collaborator Author

This description names a scenario the proof did not capture:

  • not proved live: On emulator-5554 with the explorer state (account e2e-mobile-cloud-android@example.com, 720x1600, day mode, font 1.0, portrait), open the app and reach the PR Review entry screen: the URL field's placeholder renders on a single line with no second line and no text clipped at the field's bottom 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 19, 2026
@iscekic iscekic self-assigned this Sep 19, 2026
@iscekic

iscekic commented Sep 20, 2026

Copy link
Copy Markdown
Collaborator Author

Closing as a duplicate of #6334 — same defect, and this is a strict subset.

Both fix the PR review URL field's placeholder wrapping onto two lines, and both edit pr-review-entry-screen.tsx. #6334 is the fuller fix (+238 across 3 files, including a dedicated pr-link-placeholder.tsx); this one is +23 in the single file #6334 also changes. Every file here is in #6334, so nothing is lost by closing it.

The explorer filed these as two findings because it met the defect on two screens (pr-review and pr-review-home), which is why the slug-based duplicate gate did not catch them. Findings now pool for an hour and dispatch as one item (kwf d25ae7de); this pair predates that.

@iscekic iscekic closed this Sep 20, 2026
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.

1 participant