Skip to content

Spaces SDK gets stuck after channel is suspended and reconnects #331

@ajaffie

Description

@ajaffie

I've been trying to fix this bug where users are seeing themselves in a space and other users see that user in the space when they aren't there. I eventually figured out that the bug is caused by the user disconnecting long enough for the connection and channel to be suspended and returning later without refreshing the page. The Ably SDK seems to reconnect fine, and the channel re-attaches, but the space enters an irrecoverable state.
I think what's happening is the space is hanging on to the original connection id while the Ably SDK uses a new one. A few pieces of evidence support this:

  • The affected user sees an entry in others that matches their client id and profile but with the original connection id
  • Until the affected user refreshes, they cannot leave any space they entered before disconnecting

When trying to leave an affected space, this error occurs: Error: must enter a space to perform this operation.
Seems to be caused by calling getByConnectionId with the outdated connection id here

Let me know if there's anything else I can do to help.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions