mirror of
https://github.com/kuhyx/utils.git
synced 2026-11-10 19:07:17 +01:00
The RTDB mirror wrote synchronously on the lane's one worker, so a hanging Firebase (15 s connect timeouts) would have stalled every desktop request. PhoneLink now only enqueues; relay.outbox writes on its own thread in the contract's order (chat reset/lines, state, heartbeat, then the result), keeps only the latest state and heartbeat, never drops a result or a chat line, and retries a failed write first, with backoff. The whole-request 280 s cap is enforced again: Coach.handle sets a deadline and a coach turn gets what is left of it (at most 240 s), so an ambiguous message's code check plus the turn cannot outlive the phone's 300 s "No reply" wait. The contract's caps line is back to that wording. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PjvF5DZG9JduSBYKxqyysi |
||
|---|---|---|
| .. | ||
| leetcode_coach | ||