Compare commits
base: mollusk/peerspeak:reconnect-resilience
mollusk/peerspeak:main
mollusk/peerspeak:codex-win-audio-probe
mollusk/peerspeak:s2-host-fault
mollusk/peerspeak:phase-0b-teardown
mollusk/peerspeak:phase1-ownership-tagging
mollusk/peerspeak:connection-transparency
mollusk/peerspeak:screenshare-advanced-controls
mollusk/peerspeak:codex-a6-playback-handoff
mollusk/peerspeak:codex-0.6.2-refinements
mollusk/peerspeak:codex-playlist-drawer-ui
mollusk/peerspeak:w22-music-phase1
mollusk/peerspeak:w22-image-lightbox
mollusk/peerspeak:release/0.5.1
mollusk/peerspeak:feat/clip-volume
mollusk/peerspeak:codex-presence-ratelimit-QUARANTINE
mollusk/peerspeak:codex-inline-audio-player
mollusk/peerspeak:codex-w16-settings-ui
mollusk/peerspeak:codex-wishlist-ayu-themes
mollusk/peerspeak:w16-custom-backgrounds
mollusk/peerspeak:reconnect-resilience
mollusk/peerspeak:windows-port-phase2
mollusk/peerspeak:windows-port-phase1
mollusk/peerspeak:windows-port-phase0
mollusk/peerspeak:ci-cargo-deny
mollusk/peerspeak:codex-security-s8-audio-membership
mollusk/peerspeak:codex-security-s11-presence-discovery
mollusk/peerspeak:codex-security-hardening
mollusk/peerspeak:codex-home-empty-state-ui
mollusk/peerspeak:codex-settings-category-nav
mollusk/peerspeak:codex-security-s9
mollusk/peerspeak:codex-wishlist-audio-hotkeys
...
compare: mollusk/peerspeak:a0a5922389ec3c00de07c9be74003d78477c8413
mollusk/peerspeak:main
mollusk/peerspeak:codex-win-audio-probe
mollusk/peerspeak:s2-host-fault
mollusk/peerspeak:phase-0b-teardown
mollusk/peerspeak:phase1-ownership-tagging
mollusk/peerspeak:connection-transparency
mollusk/peerspeak:screenshare-advanced-controls
mollusk/peerspeak:codex-a6-playback-handoff
mollusk/peerspeak:codex-0.6.2-refinements
mollusk/peerspeak:codex-playlist-drawer-ui
mollusk/peerspeak:w22-music-phase1
mollusk/peerspeak:w22-image-lightbox
mollusk/peerspeak:release/0.5.1
mollusk/peerspeak:feat/clip-volume
mollusk/peerspeak:codex-presence-ratelimit-QUARANTINE
mollusk/peerspeak:codex-inline-audio-player
mollusk/peerspeak:codex-w16-settings-ui
mollusk/peerspeak:codex-wishlist-ayu-themes
mollusk/peerspeak:w16-custom-backgrounds
mollusk/peerspeak:reconnect-resilience
mollusk/peerspeak:windows-port-phase2
mollusk/peerspeak:windows-port-phase1
mollusk/peerspeak:windows-port-phase0
mollusk/peerspeak:ci-cargo-deny
mollusk/peerspeak:codex-security-s8-audio-membership
mollusk/peerspeak:codex-security-s11-presence-discovery
mollusk/peerspeak:codex-security-hardening
mollusk/peerspeak:codex-home-empty-state-ui
mollusk/peerspeak:codex-settings-category-nav
mollusk/peerspeak:codex-security-s9
mollusk/peerspeak:codex-wishlist-audio-hotkeys
1
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
a0a5922389 |
Merge reconnect-resilience: post-grace peer recovery coordinator
Fixes the field-observed dead-end where a network outage longer than the 45s anti-flap grace evicted the peer with no path back (required manual Leave + re-ticket). On grace expiry the peer is now torn down cleanly and a bounded per-session recovery coordinator re-bootstraps the gossip overlay via GossipSender::join_peers on retained authenticated addresses, with immediate-then-1/2/4/8/15/30/60s capped backoff. Readmission still requires a fresh authenticated signed Announce, preserving the S8/S11 membership boundary; a transport link alone cannot readmit a grace-expired peer. Field-verified 2026-06-20 on a 2-machine Linux-host <-> Windows-VM call through a 93s link outage on the libvirt NAT path: both UIs auto-recovered to "2 in room" with no manual Leave/Join, exactly one Reconnected chime, host showed "reconnecting" during the outage, and the VM log captured the full sequence (grace expiry -> rebootstrap 1->2->4 backoff -> NeighborUp -> authenticated Announce -> readmit -> audio link up). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |