Repository navigation
fix(app): avoid native rebuild for app-entry QR links - #3237
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (12)
💤 Files with no reviewable changes (1)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughQR codes now target ChangesQR app-entry routing
Priority: ➖ Normal Estimated code review effort: 3 (Moderate) | ~25 minutes Change: Bug fix Sequence Diagram(s)sequenceDiagram
participant QRCodeWrapper
participant Browser
participant WebProxy
participant InstalledApp
participant useNativeAppLinks
participant deferred-link
QRCodeWrapper->>Browser: Open /home?app_entry=1
alt Browser scan
Browser->>WebProxy: Request app-entry URL
WebProxy-->>Browser: 307 redirect to /app
else Installed app scan
InstalledApp->>useNativeAppLinks: Handle app-entry URL
useNativeAppLinks->>deferred-link: Parse and apply deferred payload
deferred-link-->>useNativeAppLinks: Destination or no destination
useNativeAppLinks-->>InstalledApp: Navigate to destination or /home
end
Merge Risk: ⚪ Minimal · up to The QR routing change preserves browser and installed-app flows without an identified merge-blocking issue. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 40.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 5 functions across 10 files. (1 skipped: 1 unsupported.)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
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 |
Code-analysis diffPainscore total: 9003.57 → 9004.69 (+1.12) 🆕 New findings (24)
…and 4 more. ✅ Resolved (24)
…and 4 more. |
🧪 UI test report — ✅ all greenSuites
📊 Coverage (unit)
⏱ 10 slowest test cases
|
There was a problem hiding this comment.
Chip review — no blocking findings — this is not an approval
No actionable defects found in the exact-head diff.
Checked clean
- Verified the detached worktree HEAD, trusted author, main base ref, and exact base/head SHAs against the supplied inputs.
- Reviewed the browser /home app-entry redirect, marker removal, native deferred-payload application, destination sanitization, and cold/warm App Link routing.
- Verified Android manifest and all iOS AASA entries keep /home claimed and /app excluded with cross-platform parity tests in the diff.
- Ran both dependency-free native OTA surface checks against v1.6.0; Android and iOS match fingerprint 48586271a56340ed.
- Checked exact-head CI: unit, native-export, typecheck, ESLint, formatting, preview deployment, and JavaScript/TypeScript analysis passed; ds-shots was still in progress.
- The focused Jest command could not run locally because this detached worktree has no installed Jest dependency; exact-head CI's unit job subsequently passed.
- Ran git diff --check with no whitespace errors and inspected relevant history, existing deferred-link behavior, and route/export drift guards.
Security review by moonshotai/kimi-k3: 0 finding(s), marked with the model name. It reads the diff only and answers only security, privacy and money, so treat its findings as advice.
Third opinion by claude-opus: 0 finding(s), marked with the model name. It answers only product truth, missing tests and the cross-repo contract, so treat its findings as advice.
Exact head: f03799e96fd0 · Context: repo · Took 9m
🖼 Visual diff — 13 screens moved18 of 74 shots changed · 56 identical · baseline
job summary · before/after/diff images — artifact Fixture screenshots, no backend. Advisory — this check never blocks a merge. Posted from the default branch by ds-shots-comment.yml; the report it renders is untrusted data. |
Summary
/appas the web smart-store route, but remove its Android and iOS native claims introduced in feat(landing): one download action across app entry points (TASK-21788) #3027https://peanut.me/home?app_entry=1, using the/homeassociation already shipped in v1.6/appwhile preserving deferred-link payloads/home/appexclusion and both gateway branches in tests and document the release boundaryWhy this avoids a native rebuild
/homealready belongs to the released Android intent filter and every iOS AASA appID. The browser and installed-app behavior now split in JavaScript, so/appno longer needs to expand the binary native surface.Both repository OTA checks match the original v1.6.0 fingerprint (
48586271a56340ed):native surface matches original v1.6.0native surface matches original v1.6.0Follow-up to #3027.
Validation
pnpm exec jest --runInBand src/components/Migration/__tests__/DownloadQR.test.tsx src/__tests__/proxy.test.ts src/hooks/__tests__/useNativeAppLinks.test.tsx src/utils/__tests__/app-links.test.ts src/utils/__tests__/native-routes.test.ts(240 passed)pnpm typecheckpnpm buildnode scripts/check-native-ota-surface.mjs v1.6.0 --platform android --ref HEADnode scripts/check-native-ota-surface.mjs v1.6.0 --platform ios --ref HEADScope
This PR does not merge, deploy, or publish an OTA. Existing
/applinks remain valid smart-store links; newly generated QR links use the native-compatible gateway.Summary by CodeRabbit
New Features
/homeand route web visitors to the app download page.Bug Fixes