Skip to content

fix(relay): preserve sessions through disconnect grace - #180

Merged
wolfy-j merged 5 commits into
masterfrom
fix/relay-disconnect-grace
Oct 14, 2026
Merged

wolfy-j merged 5 commits into
masterfrom
fix/relay-disconnect-grace

Conversation

@wolfy-j

@wolfy-j wolfy-j commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

The last client LEAVE currently sends session shutdown immediately. A short transport interruption can therefore finish the user's sessions before reconnection. This change delays that signal by one second; JOIN cancels the pending signal and resumes the existing plugin. Live updates retain the original disconnect time and reconstruct the remaining grace.

Integrated with #179: reconnect clears both idle retirement and pending disconnect shutdown. The timer stops on reconnect, upgrade and process exit. Client ownership checks and older upgrade snapshots remain supported; exited-child shutdown delivery failures are logged without stopping the hub.

Validation on signed Wippy v0.3.48a:

  • Full Relay suite: 47 passing cases, including real live upgrades during pending disconnect with and without reconnect; runtime fixtures require hub and child cleanup.
  • Lua lint: 23 entries, clean. Module manifest conventions pass.
  • Combined Relay and Session sources: two real Relay -> Session plugin -> Session -> provider -> tool smoke cases store the edit and release hub/session registry names.

Companion: wippyai/session#65 (merged). Deploy with its cooperative turn-drain behavior; #179 handles collection after the hub inactivity timeout. No UI changes. This merge does not release or publish modules.

@wolfy-j
wolfy-j merged commit 5208546 into master Oct 14, 2026
25 checks passed
@wolfy-j
wolfy-j deleted the fix/relay-disconnect-grace branch October 14, 2026 16:13
@wippy-releases wippy-releases Bot mentioned this pull request Oct 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants