Please use the 👍 reaction to show that you are affected by the same issue.
Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
Subscribe to receive notifications on status change and new comments.
Steps to reproduce
Have an ongoing call with about 55 participants
Join the call
Expected behaviour
You receive a reasonable amount of signaling messages
Actual behaviour
In the first 26s you receive around 1070 signaling messages.
Details
Received signaling messages by type:
1 type = answer;
16 type = offer;
1 type = answer;
695 type = mute;
351 type = nickChanged;
16 type = offer;
7 type = unmute;
https://github.com/nextcloud/spreed/pull/4181 implemented a mechanism to make sure that the initial status of all participants is actually received, which results in a high amount of signaling messages in the first 30s after joining a call. Additionally to those signaling message, some messages are also send/received via the webrtc data channel (nickChanged for example).
Only send speaking/speakingStopped messages through data channel, use signaling for everything else (only possible after all clients support all signaling message types)
Ignore data channel messages client side, when the type is supported as a signaling message
Introduce some kind of state message where nickChanged, mute (audio/video) and raisedHand are combined into one single message
According to https://github.com/nextcloud/spreed/pull/4181 it is not possible to detect when to send the initial state to a newly joined participant. We could think about letting the newly joined participant request the state, this way it would be 1 message to all (the new participant requesting the state) and 1 message from each participant to the new participant (the actual state), so 56 messages in total.
How to use GitHub
Steps to reproduce
Expected behaviour
You receive a reasonable amount of signaling messages
Actual behaviour
In the first 26s you receive around 1070 signaling messages.
Details
Received signaling messages by type:
https://github.com/nextcloud/spreed/pull/4181 implemented a mechanism to make sure that the initial status of all participants is actually received, which results in a high amount of signaling messages in the first 30s after joining a call. Additionally to those signaling message, some messages are also send/received via the webrtc data channel (
nickChanged
for example).Some ideas
state
message where nickChanged, mute (audio/video) and raisedHand are combined into one single message