Skip to content

fix(mobile): animate pending pull request checks - #5875

Open
iscekic wants to merge 6 commits into
mainfrom
kwf/deliver-the-work-described-b-2976
Open

fix(mobile): animate pending pull request checks#5875
iscekic wants to merge 6 commits into
mainfrom
kwf/deliver-the-work-described-b-2976

Conversation

@iscekic

@iscekic iscekic commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

What changed

  • Merged origin/main into this branch (merge commit a3502ac; no rebase, no squash, no changes dropped) so CI can run.
  • Conflicting file apps/mobile/src/components/pr-review/pr-review-checks-section.tsx: both sides made pending check icons spin — this PR via SpinningIcon's spinning prop, origin/main (fix(mobile): rotate pending PR check icons #5882) via a conditional render. Resolved to this PR's prop-driven form; it renders exactly what origin/main's conditional renders and uses the shared component's designed API.
  • Semantic conflict in origin/main's pr-review-checks-section.mounted.test.tsx: it pinned the conditional render (a SpinningIcon only on the two pending rows, plain tone icons otherwise). Reconciled to the merged implementation while pinning the same behavior — every row renders SpinningIcon, pending rows spin with Loader2, finished rows (CheckCircle2/XCircle) carry spinning: false — so both test files pass against one implementation.
  • apps/mobile/src/i18n/locales/*.json auto-merged cleanly with the union of keys kept (this PR changed no locale files; origin/main's key consolidation merged in; the code now uses common.pullRequest). pnpm check:i18n passes on all 87 catalogs.

Why

  • The branch conflicted with origin/main, which blocked CI.
  • Both sides landed the same pending-check-icon-spin feature in different forms; this PR's prop-driven form is the original and uses the shared component's spinning API, so the resolution keeps both intents and both tests green.

Changelog for users

  • In-progress and queued pull request check icons now rotate.
  • Completed and failed check icons remain still.
  • The Connect GitHub action now shows the GitHub icon while idle.
  • Tab screens keep stable clearance above the tab bar.

Changelog for maintainers

  • Merge conflict resolutions (merge commit a3502ac):
    • apps/mobile/src/components/pr-review/pr-review-checks-section.tsx — both sides rewrote the check-row icon to spin while pending. Kept this PR's single SpinningIcon with spinning={tone === 'pending'}; identical rendered behavior to origin/main's conditional, which it supersedes.
    • apps/mobile/src/components/pr-review/pr-review-checks-section.mounted.test.tsx (origin/main's test) — its structure assertions pinned the conditional render; repointed at the merged implementation, keeping its full behavioral intent (pending rows rotate with Loader2, finished rows show CheckCircle2/XCircle and stay still).
    • apps/mobile/src/i18n/locales/*.json — auto-merged, union of keys kept; pnpm check:i18n green on all 87 catalogs.
  • Pull request checks now reuse the shared spinning icon behavior.
  • Tab screen clearance now uses a scroll-view margin instead of a trailing spacer.
  • Focused tests cover check animation, the GitHub icon, and tab screen clearance.

Changes by area

Pull request checks

Pending checks use the shared spinning icon to match existing motion and reduced-motion behavior.

GitHub connection

The idle connection action uses the GitHub icon. The loading indicator remains visible during connection.

Tab screen layout

The scroll viewport reserves the tab bar gap without changing the caller's content layout.

E2E proof

  • Driver checks: 5 checks passed after round 2
  • mobile-device: login probe passed on 1 device(s); app signed in
  • mobile-device: verifier passed

[e1] Check icon motion — On iOS, e1-ios-check-icons.mp4 shows only the pending icon rotating.

e1-ios-check-icons.mp4.trim.mp4

[e2] Check row stability — On iOS, e2-ios-no-layout-shift.mp4 shows stable rows during rotation.

e2-ios-no-layout-shift.mp4.trim.mp4

Pre-existing UX defects observed (not changed here)

  • 01-login-request-code.png — A default blue Refreshing… bar overlaps and clips the Kilo logo on the verify-code form.
  • 01-login-verify-code.png — A blue Refreshing banner overlaps and clips the Kilo logo.
  • login-shots/01-login-request-code.png — A default blue Refreshing banner overlaps the Kilo logo.

@kilo-code-bot

kilo-code-bot Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Code Review Summary

Status: No Issues Found | Recommendation: Merge

Executive Summary

Incremental changes (GitHub idle icon, tab-screen margin clearance, and tests) match existing mobile patterns with high confidence.

Files Reviewed (4 files)
  • apps/mobile/src/components/pr-review/pr-review-connect-gate.tsx
  • apps/mobile/src/components/pr-review/pr-review-connect-gate-view.test.ts
  • apps/mobile/src/components/tab-screen.tsx
  • apps/mobile/src/components/tab-screen.mounted.test.tsx
Previous Review Summary (commit a27ab3a)

Current summary above is authoritative. Previous snapshots are kept for context only.

Previous review (commit a27ab3a)

Status: No Issues Found | Recommendation: Merge

Executive Summary

Pending PR check icons now use SpinningIcon with spinning gated on pending tone; the change matches existing motion patterns with high confidence.

Files Reviewed (2 files)
  • apps/mobile/src/components/pr-review/pr-review-checks-section.tsx
  • apps/mobile/src/components/pr-review/pr-review-checks-section.test.tsx

Reviewed by grok-4.6 · Input: 51.4K · Output: 7.6K · Cached: 224.9K

Review guidance: REVIEW.md from base branch main

@iscekic iscekic added the human-ready The PR is ready for human review. label Sep 4, 2026
@iscekic
iscekic marked this pull request as draft September 4, 2026 12:40
@iscekic iscekic added human-ready The PR is ready for human review. and removed human-ready The PR is ready for human review. labels Sep 4, 2026
@iscekic
iscekic marked this pull request as ready for review September 5, 2026 02:16
@iscekic iscekic removed the human-ready The PR is ready for human review. label Sep 5, 2026
@iscekic
iscekic marked this pull request as draft September 5, 2026 02:19
@iscekic iscekic added the human-ready The PR is ready for human review. label Sep 5, 2026
@iscekic
iscekic marked this pull request as ready for review September 5, 2026 02:28
@iscekic iscekic removed the human-ready The PR is ready for human review. label Sep 5, 2026
@iscekic
iscekic marked this pull request as draft September 5, 2026 14:25
@iscekic iscekic added the human-ready The PR is ready for human review. label Sep 5, 2026
@iscekic
iscekic requested a review from eshurakov September 5, 2026 21:25
@iscekic
iscekic marked this pull request as ready for review September 5, 2026 21:25
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