Skip to content

fix(App): wait to leave previous call before joining new one#17782

Merged
Antreesy merged 1 commit intomainfrom
fix/noid/await-leave-room
Apr 23, 2026
Merged

fix(App): wait to leave previous call before joining new one#17782
Antreesy merged 1 commit intomainfrom
fix/noid/await-leave-room

Conversation

@Antreesy
Copy link
Copy Markdown
Contributor

@Antreesy Antreesy commented Apr 23, 2026

☑️ Resolves

Example for switching rooms:

  • leaveConversation might trigger leaveCall -> 'release webrtc media'
  • joinConversation might be followed by joinCall -> 'start webrtc media'
  • If processes are not executed in the right order, that might kill just started media and break joining the call

Drawbacks: longer visual switching.

AI (if applicable)

  • Analysis of this PR was partly or fully done using AI

🖌️ UI Checklist

🖼️ Screenshots / Screencasts

🏚️ Before 🏡 After
Screenshot before Screenshot after

🚧 Tasks

  • ...

🏁 Checklist

  • 🌏 Tested with different browsers / clients:
    • Chromium (Chrome / Edge / Opera / Brave)
    • Firefox
    • Safari
    • Talk Desktop
    • Integrations with Files sidebar and other apps
    • Not risky to browser differences / client
  • 🖌️ Design was reviewed, approved or inspired by the design team
  • ⛑️ Tests are included or not possible
  • 📗 User documentation in https://github.com/nextcloud/documentation/tree/master/user_manual/talk has been updated or is not required

Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
@Antreesy Antreesy added this to the 🏖️ Next Major (34) milestone Apr 23, 2026
@Antreesy Antreesy requested review from ShGKme and danxuliu April 23, 2026 09:34
@Antreesy Antreesy self-assigned this Apr 23, 2026
@Antreesy Antreesy added feature: WebRTC 🚡 WebRTC connection between browsers and/or mobile clients feature: frontend 🖌️ "Web UI" client feature: call 📹 Voice and video calls labels Apr 23, 2026
Copy link
Copy Markdown
Member

@danxuliu danxuliu left a comment

Choose a reason for hiding this comment

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

I have not tested it, but it makes sense 👍

If I am not mistaken (but I am speaking from memory, so take this with a pinch of salt) joining a new conversation implicitly leaves the old one, so a possible improvement might be to wait only if the user is active in a call, and otherwise just switch to the new conversation without waiting. This should solve the race condition when switching between calls and at the same time prevent the delays introduced with this fix when switching between conversations.

But as mentioned my assumption could be wrong and/or I could be missing other details, so fine by me to merge it as is even with the drawbacks and maybe improve it in a follow up.

@Antreesy Antreesy merged commit 2b4aa8b into main Apr 23, 2026
53 checks passed
@Antreesy Antreesy deleted the fix/noid/await-leave-room branch April 23, 2026 13:50
@Antreesy
Copy link
Copy Markdown
Contributor Author

/backport to stable33

@Antreesy
Copy link
Copy Markdown
Contributor Author

/backport to stable32

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature: call 📹 Voice and video calls feature: frontend 🖌️ "Web UI" client feature: WebRTC 🚡 WebRTC connection between browsers and/or mobile clients

Projects

None yet

Development

Successfully merging this pull request may close these issues.

"Allow adding participants to one-to-one calls creating a new conversation" feature not working properly

4 participants