Conversation
Code Review SummaryStatus: 1 Issue Found | Recommendation: Address before merge Executive SummaryThe new shared launcher owns an Android AppState listener that has no cancellation path, so a caller that unmounts while the browser is open leaves the subscription and pending closures registered until the next foreground. Overview
Issue Details (click to expand)SUGGESTION
Files Reviewed (16 files)
Fix these issues in Kilo Cloud Previous Review Summary (commit 58585ff)Current summary above is authoritative. Previous snapshots are kept for context only. Previous review (commit 58585ff)Status: 1 Issue Found | Recommendation: Address before merge Executive SummaryA provider-gate refetch rejection can now become an unhandled promise rejection after the local Overview
Issue Details (click to expand)WARNING
Files Reviewed (4 files)
Reviewed by deepseek-v4.1-flash · Input: 0 · Output: 0 · Cached: 0 Review guidance: REVIEW.md from base branch |
58585ff to
8a053d8
Compare
|
bot: Cross-platform fix. Pushed da7a249 (kwf What changed:
|
2f914b9 to
c8d287b
Compare
Changelog for users
Changelog for maintainers
launchConnectGateBrowserinapps/mobile/src/lib/pr-review/connect-gate-platform.ts, which owns the launch-sentinel lifecycle.onOpenFailureinstead of returning silently; each arm toasts the retryableauthErrors.couldNotOpenBrowsercopy and re-enables the CTA.sheet-closeclears the sentinel and runs the caller's refetch; Android success leaves the sentinel armed for the AppState foreground refetch.onSheetCloseerrors are the only rejections that reach the caller.authErrors.couldNotOpenBrowserkey; the English catalog is unchanged andcheck:i18nis unaffected.connect-gate-platform.test.tsand the failed-launch toast from the rendered Connect button inpr-review-connect-gate-view.test.ts.E2E proof
Owner request
Open findings (not fixed here)