You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Client is unable to re-join to exist call (or start the new one) after changing IP address. For example, after lost of WiFi connection (and switching to mobile Internet) or connect to another WiFi network and similiar cases.
Steps to reproduce
Start or join into a call, then turn off wifi connection on your cellural phone (a) or connect/disconnect VPN.
Your call will be interrupted and you will be unable to reconnect into the call. Sometimes for several minutes, but sometimes for a longer time. Server log posted below
Expected behavior
I understand that implementation of some kind of "roaming" might be quite difficult, so I just expect quite simple possibility to quick rejoin into the call.
I don't know all the details how it works, but there is maybe some timeouts to early detection of disconnection and we can decrease its valut. Or, maybe, more often heartbeat packets and so on...
The text was updated successfully, but these errors were encountered:
I understand that implementation of some kind of "roaming" might be quite difficult
I think this is actually supported at least partially and it's actually the reason we are not clearing the state as soon as a disconnect fires. Looking at the logs it's taking roughly 15 seconds from the first detection of disconnection:
{"timestamp":"2023-03-29 22:23:00.385 +03:00","level":"debug","msg":"removing session from state","caller":"app/plugin_api.go:934","plugin_id":"com.mattermost.calls","origin":"main.(*Plugin).handleJoin.func2 websocket.go:386","userID":"ra5co8c4spfn5kofnnxbzyqhhr"}
This is because we are not clearing the session as soon as we detect disconnection since it's not a fatal condition, the client could reconnect (e.g. roaming case). But if it fails to do so after some time, then the connection fails at which point we clear everything.
We could lower the timeouts to somewhat mitigate this but I don't think that's the best solution. What we should do is support multiple user sessions. We have had some plans around this but never implemented the functionality. I created an internal ticket to track this work (https://mattermost.atlassian.net/browse/MM-51852).
Original bugreport: mattermost/mattermost#22732
Summary
Client is unable to re-join to exist call (or start the new one) after changing IP address. For example, after lost of WiFi connection (and switching to mobile Internet) or connect to another WiFi network and similiar cases.
Steps to reproduce
Start or join into a call, then turn off wifi connection on your cellural phone (a) or connect/disconnect VPN.
Your call will be interrupted and you will be unable to reconnect into the call. Sometimes for several minutes, but sometimes for a longer time. Server log posted below
Expected behavior
I understand that implementation of some kind of "roaming" might be quite difficult, so I just expect quite simple possibility to quick rejoin into the call.
Observed behavior (that appears unintentional)
Possible fixes
I don't know all the details how it works, but there is maybe some timeouts to early detection of disconnection and we can decrease its valut. Or, maybe, more often heartbeat packets and so on...
The text was updated successfully, but these errors were encountered: