Skip to content

fix(mobile): keep the PR review repository eyebrow on one line - #6453

Open
iscekic wants to merge 1 commit into
mainfrom
kwf/explorer-pr-open-by-url-the-uppercase-repository-slug-wra-afba1-7e56
Open

iscekic wants to merge 1 commit into
mainfrom
kwf/explorer-pr-open-by-url-the-uppercase-repository-slug-wra-afba1-7e56

Conversation

@iscekic

@iscekic iscekic commented Sep 21, 2026

Copy link
Copy Markdown
Collaborator

Changelog for users

  • The pull-request header keeps the owner/repo label on a single line.
  • A long repository slug shortens in the middle with an ellipsis instead of wrapping.
  • The pull-request number stays directly beneath the label on the second line.
  • The Share and Submit review controls stay fully visible and tappable.
  • Headers that do not opt into the cap keep showing their full label text.

Changelog for maintainers

  • ScreenHeader gains an optional eyebrowNumberOfLines prop; leaving it undefined keeps the previous behavior, so instructional eyebrows are never truncated.
  • When the cap is set, the eyebrow ellipsizes in the middle because the repository name is the distinguishing tail of the path.
  • The PR review screen opts its owner/repo eyebrow into a one-line cap.
  • Tests cover the capped eyebrow, the uncapped default, the reserved placeholder line, and the screen passing the cap.
  • Review the Eyebrow render first; the only behavior change is the opt-in cap.

E2E proof

e1 — kwf-fix-proof-cdf867e-1119/e1.png (capture not retained)

e2 — explorer-pr-open-by-url-the-uppercase-repository-slug-wra-afba1/e2-hierarchy.png

e6 — explorer-pr-open-by-url-the-uppercase-repository-slug-wra-afba1/e6.png

Owner request
## Follow-ups (not changed here) - not proved live: [e1] needs:seed (github-stub.sh start , fixture kilo-stub/discussion-mixed#1) — open that PR by URL and land on the PR review screen: the repository eyebrow KILO-STUB/DISCUSSION-MIXED sits on ONE line, the title '#1' directly beneath it, and Share + Submit review are not crowded; the screen renders without the finding's defect — reported not_applicable: the iOS bridge cannot run this scenario kind (needs:seed) - not proved live: [e2] happy regression — the standing PR review state (#6054, needs:seed the pr-review GitHub token) still renders with the eyebrow on one line above '#6054', the Overview/Files/Discussion tabs, and Share + Submit review in the header row — reported not_applicable: the iOS bridge cannot run this scenario kind (needs:seed) - not proved live: [e4] non-retryable unhappy (needs:seed — github-stub.sh start so the entry screen has a GitHub token and the stub answers 404): open a PR that cannot be resolved; the body shows 'Pull request unavailable' with the 'Install the Kilo GitHub App' CTA and no Retry, and the header keeps the eyebrow on one line with Share + Submit review rendered inert — reported not_applicable: the iOS bridge cannot run this scenario kind (needs:seed)

Open findings (not fixed here)

  • .xml, evidence/e3-run.log","note":"ios: e3-hierarchy.xml shows the one-line eyebrow [42,70][214,84] clear of Share pull request [224,72][259,108] and Submit review [262,72][389,108], both enabled/visible; e3-run.log line 1 'SCENE e3 OK', and the taps opened the share sheet (e3-share.xml …[truncated]
  • rc=1). --- shard 1 ---
    VERDICT {"verdict":"passed","scenarios":[{"name":"e2","result":"pass","evidence":"/Users/igor/.local/share/kwf/ios/runs/explorer-pr-open-by-url-the-uppercase-repository-slug-wra-afba1-7e56/evidence/e2-hierarchy.txt","note":"iOS, pr-open-by-url (docs: auto-sync cloud-mobile with merged PRs (through 2026-09-21) kilocode#14198): eyebro
  • not proved live: e2-hierarchy.png is no longer on the host that took it, so no publish can carry it
  • not proved live: e4-hierarchy.png is no longer on the host that took it, so no publish can carry it
  • not proved live: e6-hierarchy.png is no longer on the host that took it, so no publish can carry it
  • not proved live: pr-open-by-url.png is no longer on the host that took it, so no publish can carry it
  • the '## E2E proof' section carries no log excerpt, so nothing shows the change was driven end to end

Explorer finding: pr-open-by-url: The uppercase repository slug wraps to two lines and leaves the PR number '#1' orphaned on a third line, crowding the share and Submit review controls.

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-open-by-url
Found on revision: f2181ae

Repro:
1. set this state first: credits 25; reviews 4; org
2. open the app on 1F6F1503-9C26-4120-82D4-5F8768CBE42F
3. reach pr-open-by-url
4. the capture shows the defect named below

Observed: The uppercase repository slug wraps to two lines and leaves the PR number '#1' orphaned on a third line, crowding the share and Submit review controls.
Expected: the screen renders without this defect

Evidence (from the device run):
- ~/.local/share/kwf/findings/explorer-pr-open-by-url-the-uppercase-repository-slug-wra-afba1609/pr-open-by-url.png
@iscekic
iscekic marked this pull request as draft September 21, 2026 02:42
@iscekic
iscekic marked this pull request as ready for review September 21, 2026 02:55
@kilo-code-bot

kilo-code-bot Bot commented Sep 21, 2026

Copy link
Copy Markdown
Contributor

Code Review Summary

Status: No Issues Found | Recommendation: Merge

Files Reviewed (4 files)
  • apps/mobile/src/components/screen-header.tsx
  • apps/mobile/src/components/pr-review/pr-review-screen.tsx
  • apps/mobile/src/components/screen-header.mounted.test.tsx
  • apps/mobile/src/components/pr-review/pr-review-screen.test.tsx

Verified the opt-in eyebrowNumberOfLines cap: ScreenHeader forwards numberOfLines/ellipsizeMode through Eyebrow/Text, the uncapped default is preserved for every other caller, and the middle ellipsis matches the existing pattern in kv-row.tsx. No memory leaks, security, or logic regressions found in the changed lines.


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

Review guidance: REVIEW.md from base branch main

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant