Skip to content

feat(snownet): restart allocations on reset keeping credentials - #14301

Merged
thomaseizinger merged 2 commits into
mainfrom
feat-restart-allocations-keep-credentials
Jul 24, 2026
Merged

feat(snownet): restart allocations on reset keeping credentials#14301
thomaseizinger merged 2 commits into
mainfrom
feat-restart-allocations-keep-credentials

Conversation

@thomaseizinger

@thomaseizinger thomaseizinger commented Jul 24, 2026

Copy link
Copy Markdown
Member

On a network reset, re-run the TURN handshake from the new socket instead of dropping the allocations entirely. The portal-issued credentials outlive the reset, so relay connectivity recovers without waiting for the portal to re-deliver the relay list.

This relies on candidates being held back and re-synced when the portal reconnects: without that, the candidates gathered during the outage are lost.

If the network reset event that connlib received was a true-positive, then we still have a hard-dependency on the portal to deliver the new candidates before we can set up a connection. If however the network reset was a false-positive due to e.g. a wake signal from the host app, re-discovering our server-reflexive candidates through the relays makes ICEless restart its probes. If we haven't roamed, then the network path is still open and we can immediately resume the connection.

@thomaseizinger
thomaseizinger requested a review from jamilbk July 24, 2026 01:34
@thomaseizinger
thomaseizinger force-pushed the feat-restart-allocations-keep-credentials branch from 155c3d0 to 41c2352 Compare July 24, 2026 01:34
@thomaseizinger
thomaseizinger force-pushed the feat-hold-back-ice-candidates branch from 5a4e2d6 to 2978583 Compare July 24, 2026 04:22
@thomaseizinger
thomaseizinger force-pushed the feat-restart-allocations-keep-credentials branch from 41c2352 to 1317761 Compare July 24, 2026 04:22
@thomaseizinger
thomaseizinger force-pushed the feat-hold-back-ice-candidates branch from 2978583 to 8527ae7 Compare July 24, 2026 05:07
@thomaseizinger
thomaseizinger force-pushed the feat-restart-allocations-keep-credentials branch from 1317761 to 67997aa Compare July 24, 2026 05:07
Base automatically changed from feat-hold-back-ice-candidates to main July 24, 2026 06:34
claude added 2 commits July 24, 2026 06:35
On a network reset, re-run the TURN handshake from the new socket instead
of dropping the allocations entirely. The portal-issued credentials outlive
the reset, so relay connectivity can recover without waiting for the portal
to re-deliver the relay list.
@thomaseizinger
thomaseizinger force-pushed the feat-restart-allocations-keep-credentials branch from 67997aa to c45c0de Compare July 24, 2026 06:35
@thomaseizinger
thomaseizinger enabled auto-merge July 24, 2026 06:37
@thomaseizinger
thomaseizinger added this pull request to the merge queue Jul 24, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jul 24, 2026
@thomaseizinger
thomaseizinger merged commit 7675046 into main Jul 24, 2026
163 checks passed
@thomaseizinger
thomaseizinger deleted the feat-restart-allocations-keep-credentials branch July 24, 2026 07:18
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.

3 participants