Skip to content
This repository has been archived by the owner on Sep 11, 2024. It is now read-only.

Starting a new call ends in a race where either: the new call wont be sticky, or: both calls will be disconnected. #12188

Closed
toger5 opened this issue Jan 30, 2024 · 2 comments

Comments

@toger5
Copy link
Contributor

toger5 commented Jan 30, 2024

Currently this is solved with the workaround that the user does not even get the option to start a new call if there is a running one.

But in the future it would be nice if starting a new call would first disconnect the old call and then connect the new one.

All the requirements are in place:

  • The new call needs to wait until it can become sticky -> since there is always only one widget that can be sticky, we would kill the running widget by making the new one sticky. This is solved by a stickyPromise that needs to resolve before we can connect the new call.

It seems the issue is, that if a call is hung up the roomview will dispatch an action with view_call = false this action will kill the newly started call...
The logic is correct: only dispatch with view_call = false if there is no active call. But due to a potential race there seems to be no active call even though there should be. Maybe checking CallStore.instance.getCall could reveal if there is another call and one should not dispatch view_call = false

@t3chguy
Copy link
Member

t3chguy commented Feb 14, 2024

See #9666

We unfortunately cannot transfer issues cross-org.

@t3chguy t3chguy closed this as not planned Won't fix, can't repro, duplicate, stale Feb 14, 2024
@toger5
Copy link
Contributor Author

toger5 commented Feb 14, 2024

moved it.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants