Skip to content

Add structured handshake rejections - #401

Open
Mayank808 wants to merge 2 commits into
mainfrom
mayank/structured-handshake-rejections
Open

Add structured handshake rejections#401
Mayank808 wants to merge 2 commits into
mainfrom
mayank/structured-handshake-rejections

Conversation

@Mayank808

Copy link
Copy Markdown
Contributor

Why

Custom handshake handlers can only return a River failure code. Applications must put specific failure states in error strings and parse those strings for retry decisions.

What changed

Custom handshake handlers can now return rejectHandshake({ code, message, extras }). River sends these optional details in failed handshake responses and exposes them in protocol error events and logs. Existing handlers that return a River failure code continue to work without changes.

Tests cover initial handshakes, re-handshakes, and compatibility with old clients and servers. The protocol and handshake documentation describe the new payload.

Versioning

  • Breaking protocol change
  • Breaking ts/js API change

~ written by Zerg 馃懢 (wp-8f1d1ac5)

@Mayank808 Mayank808 added the zergling-authored PRs authored by Zerg label Aug 20, 2026
@Mayank808
Mayank808 marked this pull request as ready for review August 20, 2026 21:13
@Mayank808
Mayank808 requested a review from a team as a code owner August 20, 2026 21:13
@Mayank808
Mayank808 requested review from daweifeng-replit and wernst and removed request for a team August 20, 2026 21:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

zergling-authored PRs authored by Zerg

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant