Skip to content

Upgrade realtime protocol from version 1.2 to 2.0: 'no-connection-serial' - #88

Merged
SimonWoolf merged 8 commits into
integration/protocol-2.0from
no-connection-serial
Nov 10, 2022
Merged

Upgrade realtime protocol from version 1.2 to 2.0: 'no-connection-serial'#88
SimonWoolf merged 8 commits into
integration/protocol-2.0from
no-connection-serial

Conversation

@SimonWoolf

Copy link
Copy Markdown
Member

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

This is a port of ably/docs#1526 , several discussions have already taken place on that PR.

@SimonWoolfSimonWoolf added this to the Protocol Version 2 milestone Oct 3, 2022
@github-actions
github-actionsBot temporarily deployed to staging/pull/88 October 4, 2022 11:17 Inactive
@github-actions
github-actionsBot temporarily deployed to staging/pull/88 October 4, 2022 17:17 Inactive
@SimonWoolf

Copy link
Copy Markdown
MemberAuthor

@github-actions
github-actionsBot temporarily deployed to staging/pull/88 October 4, 2022 20:17 Inactive
@github-actions
github-actionsBot temporarily deployed to staging/pull/88 October 5, 2022 08:42 Inactive
@github-actions
github-actionsBot temporarily deployed to staging/pull/88 October 17, 2022 17:35 Inactive

@QuintinWillisonQuintinWillison left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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 😉).

Comment threadtextile/features.textile Outdated
Comment threadtextile/features.textile Outdated

@QuintinWillisonQuintinWillison left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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.

@ikbalkayaikbalkaya left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

LGTM, just some minor typos

Comment threadtextile/features.textile Outdated
Comment threadtextile/features.textile Outdated
…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)
@SimonWoolf
SimonWoolf merged commit d6b2a8e into integration/protocol-2.0Nov 10, 2022
@SimonWoolf
SimonWoolf deleted the no-connection-serial branch November 10, 2022 16:47
ttypic pushed a commit that referenced this pull request Mar 6, 2026
Upgrade realtime protocol from version 1.2 to 2.0: 'no-connection-serial'
ttypic pushed a commit that referenced this pull request Mar 6, 2026
Upgrade realtime protocol from version 1.2 to 2.0: 'no-connection-serial'
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@SimonWoolf@ikbalkaya@QuintinWillison