-
Notifications
You must be signed in to change notification settings - Fork 508
"409 Conflict" on joining a second time in the same conversation #3591
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
"409 Conflict" on joining a second time in the same conversation #3591
Conversation
230c01f to
634b0f8
Compare
|
This is part 1 of solving #3415 It asks the user whether they want to join a conversation when the previous session pinged in the last 40 seconds (or 60 when it was/is in a call). Reloading within the same tab will always force join automatically. Part 2 is handling the previous session, in case the user picked the "force join" option. That will be handled in #3338 |
|
Oh, missed to leave the old session on the signaling server in case of a force join |
c5f6744 to
a0aad3f
Compare
|
Now works also acceptable while chatting with the HPB (with nextcloud/server#21417 applied): Todo:
|
|
Remaining issue:
|
|
Ready to review 🎉 |
|
/backport to stable19 |
danxuliu
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.
There might be something broken in my setup, because the only thing that works for me is trying to join the same conversation in another tab as a user with the HPB but staying in the previous one. Everything else has some kind of issue.
- With HPB:
- With a user:
- Open the same conversation in another tab and choose Join here: the previous tab is redirected to Duplicate session, but the participant is shown as not connected in the new tab.
- With a guest:
- Open the same conversation in another tab and choose Join here: the previous tab just stays in the conversation (although in the browser console it can be seen that is connected and disconnected from the external signaling server again and again).
- Open the same conversation in another tab and choose Leave this page: the new tab is redirected to
apps/spreed(which shows the login screen rather than the Duplicate session message)
- With a user:
- Without HPB:
- With a user:
- Open the same conversation in another tab and choose Join here: both the previous tab and the new tab are redirected to Duplicate session
- Open the same conversation in another tab and choose Leave this page: the previous tab is redirected to Duplicate session (but only sometimes, other times it works)
- With a guest:
- Open the same conversation in another tab and choose Join here: both the previous tab and the new tab are redirected to
apps/spreed - Open the same conversation in another tab and choose Leave this page: the new tab is redirected to
apps/spreed
- Open the same conversation in another tab and choose Join here: both the previous tab and the new tab are redirected to
- With a user:
Additionally, if a conversation is created and a call is immediately started in that conversation the UI will not change to the call view.
This comment has been minimized.
This comment has been minimized.
Signed-off-by: Joas Schilling <[email protected]>
Signed-off-by: Joas Schilling <[email protected]>
Signed-off-by: Joas Schilling <[email protected]>
Note: This uses the browsers sessionStorage not the browserStorage. As per https://stackoverflow.com/q/20325763 this is NOT shared between tabs. For us this is the solution we were looking for, as it allows us to identify if a user reloaded a conversation in the same tab, or entered it in another tab. Signed-off-by: Joas Schilling <[email protected]>
Signed-off-by: Joas Schilling <[email protected]>
Signed-off-by: Joas Schilling <[email protected]>
Signed-off-by: Joas Schilling <[email protected]>
Signed-off-by: Joas Schilling <[email protected]>
Signed-off-by: Joas Schilling <[email protected]>
Signed-off-by: Joas Schilling <[email protected]>
404: now redirects to /not-found *: now retries after 10 seconds and shows an error and give up after 5 minutes recommending a reload Signed-off-by: Joas Schilling <[email protected]>
… user Signed-off-by: Joas Schilling <[email protected]>
Signed-off-by: Joas Schilling <[email protected]>
Signed-off-by: Joas Schilling <[email protected]>
Signed-off-by: Joas Schilling <[email protected]>
Otherwise there is no update of the computed and the call screen will not show up. Signed-off-by: Joas Schilling <[email protected]>
Signed-off-by: Joas Schilling <[email protected]>
Signed-off-by: Joas Schilling <[email protected]>
Signed-off-by: Joas Schilling <[email protected]>
But they were actually removed from the conversation. Signed-off-by: Joas Schilling <[email protected]>
…eady changed Signed-off-by: Joas Schilling <[email protected]>
2a49040 to
db24555
Compare
Signed-off-by: Joas Schilling <[email protected]>
db24555 to
e5c75cb
Compare
danxuliu
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.
Tested and works 👍
Yay! :-D

Ref #3415