Repository navigation
fix(mobile): hold live agent rows through a socket reconnect - #6235
Conversation
Code Review SummaryStatus: No Issues Found | Recommendation: Merge Executive SummaryRe-verified the reworked reconnect hold (monotonic Files Reviewed (8 files)
Previous Review Summary (commit 0521751)Current summary above is authoritative. Previous snapshots are kept for context only. Previous review (commit 0521751)Status: 1 Issues Found | Recommendation: Address before merge Executive SummaryOne low-severity robustness issue in the new reconnect hold: its 5000 ms window is measured with a non-monotonic wall clock, so a backward clock adjustment can pin held live rows past the window. Overview
Issue Details (click to expand)SUGGESTION
Files Reviewed (8 files)
Reviewed by deepseek-v4.1-flash · Input: 0 · Output: 0 · Cached: 0 Review guidance: REVIEW.md from base branch |
c5ba82e to
5ec07de
Compare
|
This description names a scenario the proof did not capture:
A repeated proof run rebuilds the same evidence, so no proof run is dispatched for a named gap. Merging with this gap open is your decision. |
Changelog for users
Changelog for maintainers
resolveLiveSessionsHoldholds the last non-empty live rows for 5000 ms after a socket-emptied set; rows delivered inside the window retire the hold immediately.useLiveSessionsHoldarms a release timer because nothing else re-renders at the window's end; without it, a held emptiness would pin stale rows forever.useLiveAgentSessionsrenders the held rows; the hold is keyed toactive.queryKeyand gated onactive.canRead.cli.disconnectedand an emptysessions.listsnapshot.E2E proof
[e1] Agents live list across a brief CLI-socket break — Live CLI row on the Agents tab: e1-source-count.log reads 2a8a9ff2-b8b3-4c85-9b83-e7e3a1fbd269|1|idle; e1-fault-down.log reads 'cloudflare-session-ingest killed (port 13600 refuses; pids 150871 )'; the scene digest captured during the outage reads 'android.widget.TextView 1 LIVE', 'android.widget.TextView Reconnecting…' and 'Greeting, Idle, kwf/kwf-fix-proof-5ec07de-4-b036, CLOUD, and cost 1 cent, 5 minutes ago' with the absent-'Nothing running right now' step passing; six dense samples across a 13 s outage all read live=[1 LIVE] row=[text="Greeting"] empty=[] (e1-brief-samples.log), then…
[e1] Agents live list across a brief CLI-socket break
[e3] Open the Agents tab before any live snapshot has ever arrived: empty state without held rows — e3-login.log reads 'signed in as e2e-empty-kwf-fix-proof-5ec07de-4-b036@example.com (otp)'; e3-source-count.log reads '0' for cli_sessions_v2 of that account; the Agents tab digest reads 'android.widget.TextView 0 LIVE', 'android.widget.TextView Nothing running right now' and 'android.widget.TextView Start a coding task from your phone. Your sessions will appear here.' with no session row (no held rows). Capture e3.png is for the visual reviewer.
/home/igor_kilocode_ai/.local/share/kwf/sections/kwf-fix-proof-5ec07de-4-b036/e2e-cli/cli-tests.log/home/igor_kilocode_ai/.local/share/kwf/sections/kwf-fix-proof-5ec07de-4-b036/e2e-mobile-app/e1-scene-final.log/home/igor_kilocode_ai/.local/share/kwf/sections/kwf-fix-proof-5ec07de-4-b036/e2e-mobile-app/e1-source-count.log/home/igor_kilocode_ai/.local/share/kwf/sections/kwf-fix-proof-5ec07de-4-b036/e2e-mobile-app/e1-fault-down.log/home/igor_kilocode_ai/.local/share/kwf/sections/kwf-fix-proof-5ec07de-4-b036/e2e-mobile-app/e1-brief-samples.log/home/igor_kilocode_ai/.local/share/kwf/sections/kwf-fix-proof-5ec07de-4-b036/e2e-mobile-app/e3-digest.log/home/igor_kilocode_ai/.local/share/kwf/sections/kwf-fix-proof-5ec07de-4-b036/e2e-mobile-app/e3-login.log/home/igor_kilocode_ai/.local/share/kwf/sections/kwf-fix-proof-5ec07de-4-b036/e2e-mobile-app/e3-source-count.logOwner request
Open findings (not fixed here)
e1-live.trim.mp4.trim.mp4