-
Notifications
You must be signed in to change notification settings - Fork 10
fix sessionStatus type, remove no connection -> no connection transition on server, extra invariant checks #296
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix sessionStatus type, remove no connection -> no connection transition on server, extra invariant checks #296
Conversation
…nnection transition on server
lhchavez
left a comment
There was a problem hiding this 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", |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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)
| ); | ||
|
|
||
| oldSession = noConnectionSession; | ||
| this.updateSession(oldSession); |
There was a problem hiding this comment.
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?
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