-
Notifications
You must be signed in to change notification settings - Fork 9
Description
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
othersthat 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.