Skip to content

Conversation

@jackyzha0
Copy link
Member

Why

we get a very very low volume of message out of order (~40 messages across 15m connections) but these still suck

lets see if the message ordering problem is present before we send too

What changed

add some extra invariant violation checks before message send

fix some small session status type alignment and removed an extra state where we would emit an extra session transition for the transparent reconnect case

Versioning

  • Breaking protocol change
  • Breaking ts/js API change

@jackyzha0 jackyzha0 requested a review from a team as a code owner March 25, 2025 20:56
@jackyzha0 jackyzha0 requested review from Monkatraz and masad-frost and removed request for a team March 25, 2025 20:56
Copy link
Contributor

@lhchavez lhchavez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

seems good to me, but you might benefit from another, more in-depth reviewer.

"name": "@replit/river",
"description": "It's like tRPC but... with JSON Schema Support, duplex streaming and support for service multiplexing. Transport agnostic!",
"version": "0.205.1",
"version": "0.205.2",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this feels a bit minory: some args of callbacks change.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the interface change is backwards compatible (we passed the session field when the type didnt say it had a session field, now we declare a new id field which we do pass properly)

@jackyzha0 jackyzha0 merged commit 3fd9a59 into main Mar 26, 2025
6 checks passed
@jackyzha0 jackyzha0 deleted the jackyzha0/fuzz-tests-for-invariant-violations branch March 26, 2025 21:54
);

oldSession = noConnectionSession;
this.updateSession(oldSession);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

are there any implications for moving this update up into the if block?

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.

5 participants