Repository navigation
Bump soar to v0.2.3: retire sessions stranded by abandoned handshakes - #683
Merged
Merged
Conversation
soar#14: when kindling cancels a Soar dial mid-handshake (another transport won the race), the handshake still completes and leaves a session that never carries a stream. The server ends it 15 s after the hello, but the client kept it for 90 s, so the next Soar attempt failed at once with "soar: server lost the session". The client now retires an unused session 10 s after its first hello. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QQFpfCXs3JqrfyDuiGabF5
Contributor
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
The focused dependency update has no identified blocking issues; tests were not rerun.
No open issues 🎉
What changed in this PR
Updates Soar to retire unused sessions left by abandoned handshakes, preventing subsequent dial failures.
Changes:
- Bumps
github.com/getlantern/soarfrom v0.2.2 to v0.2.3. - Updates checksums; no radiance code changes are needed.
| File | Description |
|---|---|
| go.sum | Updates Soar checksums for v0.2.3. |
| go.mod | Requires Soar v0.2.3. |
Review effort: Balanced
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This bumps
github.com/getlantern/soarfromv0.2.2tov0.2.3, which brings in getlantern/soar#14. radiance needs no code change.The bug: kindling cancels a Soar dial mid-handshake when another transport wins the race. With the 8 s start delay that's the usual case: Soar joins, and domain fronting wins half a second later. The handshake still completes, leaving a session that never carries a stream.
soar: server lost the session.Seen in production: in the 36 hours to 2026-10-18 03:00 UTC, SigNoz traces show 30 Soar attempts that failed 0.1–1 s after joining the race, including after v0.2.2 shipped in beta 5.
The fix: the client now retires a session that has never carried a stream 10 s after its first hello.
v0.2.3 contains only #14, and the wire protocol is unchanged.
Verification
go mod tidy: onlygo.modandgo.sumchange.go test -tags with_clash_api ./kindling/...passes, includingkindling/soar.-tags with_clash_api, two failures also happen onorigin/mainlocally:go buildfails incmd/lantern, on theipc.NewClientsignature.go testfails twoconfigtests (TestUserChangeSkipsConfigFetchWithoutCredentials,TestInitialAccountEventDoesNotLoopConfigCreation).configdoesn't depend on soar, and main's CI is green, so these look specific to the local environment.Pre-PR review (local Codex gate)
CODEX GATE: verdict=approve critical=0 important=0 minor=0 reviewed=6approve🤖 Generated with Claude Code
https://claude.ai/code/session_01QQFpfCXs3JqrfyDuiGabF5
Summary by CodeRabbit