Skip to content

fix(extension): harden websocket reconnect lifecycle - #88

Closed
BB-fat wants to merge 2 commits into
mainfrom
takeover/pr19-websocket-reconnect
Closed

fix(extension): harden websocket reconnect lifecycle#88
BB-fat wants to merge 2 commits into
mainfrom
takeover/pr19-websocket-reconnect

Conversation

@BB-fat

@BB-fat BB-fat commented Aug 12, 2026

Copy link
Copy Markdown
Collaborator

Supersedes #19 — rebased onto current main with conflicts resolved. All credit to @NianJiuZst for the original design and implementation.

What this is

#19 hardened the websocket reconnect lifecycle: generation-bound handshakes (a stale handshake result can never bind to a new connection), abortable in-flight handshakes, and retry-on-failure. After #17 (disconnect cleanup) merged, the PR conflicted with main; this branch resolves that.

Conflict resolution notes (vs original #19)

Verification

  • tsc --noEmit, pnpm lint (biome + stylelint): clean.
  • connection-controller / handshake / ws-transport vitest: 36/36 pass.

NianJiuZst and others added 2 commits August 12, 2026 11:45
…covery

Reconnection after a failed/dropped handshake is owned solely by
recoverFromDisconnect(); the PR's 1s retry timer is dropped (redundant
and double-connects), the generation/abort handshake binding is kept.
Tests updated to assert the merged semantics.
@BB-fat BB-fat closed this Aug 12, 2026
@BB-fat
BB-fat deleted the takeover/pr19-websocket-reconnect branch August 12, 2026 12:09
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