Originally created by: kristofferR
Chatpane's recovery (sync health, realtime health, worker recovery, silent recovery, auto refresh) has been validated by hand, one case at a time: docs/sync-recovery.md records CONNECT-proxy blackholes, closed MessagePorts and failed worker setups run once against a diagnostics build. Nothing re-runs them, so a change to reloads, connections or notifications can regress a case nobody re-tests.
A repeatable live check, adapted from fMess's fmess-live-check skill (https://github.com/toanbku/fmess/tree/0cc6ecf/.claude/skills/fmess-live-check, MIT): simulate the case instead of releasing and waiting for reports.
blackhole (open tunnels pass nothing and never close), refuse (offline) and reset (every connection dropped). The proxy and any fault hooks exist only in debug builds.PASS/FAIL:.claude/skills/chatpane-live-check/) says when to run it: before shipping any change to recovery, reloading, connections, notifications or sounds, and when a user reports stuck "Sending", missing notifications or a blank screen.docs/sync-recovery.md into cases where they can be scripted; keep the rest listed as manual.Chatpane's recovery rules still apply: no backoff on reconnect loops, and a restart must never be needed.
Ref docs/sync-recovery.md