Skip to content
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

fix(Call): introduce intermediary phase before joining call #13329

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

DorraJaouad
Copy link
Contributor

🖌️ UI Checklist

🖼️ Screenshots / Screencasts

Before

Recording.2024-09-17.160718.mp4

After

Recording.2024-09-17.160913.mp4

🏁 Checklist

  • 🌏 Tested with different browsers / clients:
    • Chromium (Chrome / Edge / Opera / Brave)
    • Firefox
    • Safari
    • Talk Desktop
    • 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

Comment on lines -808 to -813
setTimeout(() => {
// If by accident we never receive a users list, just switch to
// "Waiting for others to join the call …" after some seconds.
commit('finishedConnecting', { token, sessionId: participantIdentifier.sessionId })
}, 10000)
Copy link
Contributor Author

Choose a reason for hiding this comment

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

It's guaranteed to receive one of the above signaling events as we are the base server

Copy link
Member

Choose a reason for hiding this comment

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

Note that finishedConnecting does not mean It was possible to join the call, but After joining the call, the list of participants in the call was received. Therefore this change breaks its behaviour.

After joining a call without HPB Connecting was shown in the call view until the list of participants in the call was received. If there were no other participants in the call Connecting was replaced by Waiting for others to join the call, and if there were other participants then a connection was established with them. Now, if there are other participants, Waiting for others to join the call will be briefly shown until the participant list is received, which is not correct.

If there is HPB, however, the Connecting state was wrong, as usersInRoom is never triggered in that case (probably usersChanged should have been used instead) 🤷 So Connecting was shown for ten seconds when there were no other participants in the call.

Copy link
Contributor

@Antreesy Antreesy left a comment

Choose a reason for hiding this comment

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

Works good in general, but I'd test it in some real calls before merging

src/store/participantsStore.js Show resolved Hide resolved
src/components/CallView/CallFailedDialog.vue Outdated Show resolved Hide resolved
src/services/callsService.js Outdated Show resolved Hide resolved
@Antreesy
Copy link
Contributor

Antreesy commented Sep 24, 2024

  • NcLoadingIcon isn't shown
  • CallButon keeps disabled when leave a call, unless reload

…t. It's only received when using internal server. Replace them with events from the base class so we make sure it's always received. Also, add a new event for failed joining

Signed-off-by: DorraJaouad <[email protected]>
…nCall, connecting, connection failed)

Signed-off-by: DorraJaouad <[email protected]>
@DorraJaouad
Copy link
Contributor Author

  • NcLoadingIcon isn't shown
  • CallButon keeps disabled when leave a call, unless reload

It was because isConnecting state is reinitiated at the time where it should be truthy

Copy link
Contributor

@Antreesy Antreesy left a comment

Choose a reason for hiding this comment

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

Tested, looks and works fine

Let's wait for @danxuliu opinion on that

src/components/CallView/CallFailedDialog.vue Outdated Show resolved Hide resolved
src/components/CallView/CallFailedDialog.vue Show resolved Hide resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants