Uh oh!
There was an error while loading. Please reload this page.
Upgrade realtime protocol from version 1.2 to 2.0: 'no-connection-serial' - #88
Conversation
83738a8 to
3761d49CompareSimonWoolf
commented
Oct 4, 2022
Two more changes, per discussion this morning and on slack: |
858c9b4 to
7aeb452CompareThere was a problem hiding this comment.
A few observations, plus:
I would like to see this pull request built atop #105, if we can come to agreement that the approach I suggest there is agreeable to everyone, in particular @SimonWoolf who has already commented but not yet approved (at the time of me writing this, at least 😉).
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
QuintinWillison
left a comment
There was a problem hiding this comment.
After some thought I have decided to close my pull request, unmerged. It is not necessary to block this work on an as-yet-to-be-created change/release process, so I will strike out my previous comment on this pull request. Thanks.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
…ial' includes: - add channel reattaching and presence re-entering - document connection recovery properly and explicitly - remove RTN15f which was wrong (implied you should only republish if a resume was successful) and redundant to RTN19a
E.g. consider: - user enters with connId aaa, clientId foo - (sdk gets enter for aaa:foo) - user does a failed resume, connId is now bbb - sdk auto-re-enters clientId foo - (sdk gets enter for bbb:foo) - (sdk gets synthesized leave for bbb:foo) - some time later, user leaves clientId foo - (sdk gets leave for bbb:foo) before, that sequence would leavs aaa:foo still in the myMembers map. With this change, aaa:foo would be replaced by bbb:foo, so would then be removed when the sdk gets a (non-synthesized) leave for bbb:foo.
…iled resumes where the msgSerial is reset, and there's a new connectionid. Since the previous msgSerial assignment is meaningless in the context of a new connection (and worse, could result in messages being incorrectly dropped for idempotency if there's a clash with assignments from the new counter)
No actual semantic change
607e834 to
90fb845CompareUpgrade realtime protocol from version 1.2 to 2.0: 'no-connection-serial'
Upgrade realtime protocol from version 1.2 to 2.0: 'no-connection-serial'
includes:
This is a port of ably/docs#1526 , several discussions have already taken place on that PR.