Overhaul iOS PR reliability, performance, and UI#857
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (3)
📒 Files selected for processing (29)
Disabled knowledge base sources:
📝 WalkthroughWalkthroughChangesGitHub PR snapshot and mobile detail flow
Estimated code review effort: 4 (Complex) | ~60 minutes Possibly related PRs
Suggested labels: ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 SkillSpector (2.3.11).agents/skills/ship/SKILL.mdSkillSpector returned invalid JSON output Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@copilot review but do not make fixes |
Greptile Summary
This PR improves iOS PR list and detail reliability. The main changes are:
prs_updatedinvalidation pushes from the sync host to iOS.Confidence Score: 5/5
Safe to merge with low observed risk.
The changed paths include focused tests for option forwarding, snapshot caching and invalidation, exact counts, and unmapped PR detail loading. No blocking correctness or security issues were identified.
No files require special attention.
What T-Rex did
Important Files Changed
prs_updatedrevision handling.prs.getMobileGithubDetailto paired clients.Sequence Diagram
%%{init: {'theme': 'neutral'}}%% sequenceDiagram participant GitHub participant Desktop as Desktop PR Service participant Host as Sync Host participant iOS as iOS PR UI GitHub->>Desktop: webhook / snapshot data changes Desktop->>Desktop: invalidate projected GitHub snapshot Desktop->>Host: emit prs-updated runtime event Host-->>iOS: prs_updated invalidation envelope iOS->>Host: "prs.getGitHubSnapshot(revalidate=false, includeStateCounts=true)" Host->>Desktop: execute snapshot command Desktop-->>Host: projected snapshot + repo state counts Host-->>iOS: updated PR list snapshot iOS->>Host: prs.getMobileGithubDetail(repo, number) Host->>Desktop: execute aggregate detail command Desktop->>GitHub: fetch PR anchor and sidecars Desktop-->>Host: detail snapshot + unavailableParts Host-->>iOS: render full or partial PR detail%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%% sequenceDiagram participant GitHub participant Desktop as Desktop PR Service participant Host as Sync Host participant iOS as iOS PR UI GitHub->>Desktop: webhook / snapshot data changes Desktop->>Desktop: invalidate projected GitHub snapshot Desktop->>Host: emit prs-updated runtime event Host-->>iOS: prs_updated invalidation envelope iOS->>Host: "prs.getGitHubSnapshot(revalidate=false, includeStateCounts=true)" Host->>Desktop: execute snapshot command Desktop-->>Host: projected snapshot + repo state counts Host-->>iOS: updated PR list snapshot iOS->>Host: prs.getMobileGithubDetail(repo, number) Host->>Desktop: execute aggregate detail command Desktop->>GitHub: fetch PR anchor and sidecars Desktop-->>Host: detail snapshot + unavailableParts Host-->>iOS: render full or partial PR detailReviews (2): Last reviewed commit: "fix(ship): stop gating on Copilot review..." | Re-trigger Greptile
Summary by CodeRabbit
New Features
Bug Fixes
Documentation