-
Notifications
You must be signed in to change notification settings - Fork 156
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
Stopping screen share sometimes breaks e2ee #973
Comments
could you confirm if this still happens with the latest server? you are using 1.2.7, which is quite old |
Sorry, the version is 1.5.1, updated |
up! this is important - any ideas whats happening? |
+1 |
This looks to be a bug with the JS client SDK. moving the issue there. |
I tried to reproduce the issue with the steps outlined in the description, but it continued to work for me in all cases (tried ~5 times of sharing screen from two participants with 5 in the room). |
It's happening with some of our users where one of them was using IPad, but I couldn't reproduce either. We just updated the SDK and Server to the latest versions and we will continue to investigate. |
+1 |
@AurimasG12 do you have a way to reproduce this? |
we have found a way to reproduce it - we all jumped into the room, we all started sharing multiple screens (our app allows that) and then on the count of 3, we started stopping shared screens by leaving only 1 from each participant. One guy stopped all his screens at once (he had 4 shared screens). I'm adding a video how everything went and also the logs from our loki (both in json and txt) video: https://we.tl/t-N3EiB8AOK3 logs: |
oh, that's great! thank you, for e2ee the server logs are unfortunately not very telling, could you also post client debug logs of
|
it would be really helpful if you could, in addition, set debug level also for the |
Hey, we set the log level as suggested and reproduced. Broken screen for participant with id: dcc89602-fdba-4818-b78f-9f83c3449f92
. Participants that see broken screen: 0a14c645-1719-4ab9-a0b6-186b4e40dbb2, 117d568a-f3fb-4a0e-8eb2-9d92d5e63033, c6cbde2c-2cbd-4b39-8d50-28d4de57f186, 47cfb99b-23d4-4d01-91dc-3ec62a5aee8e
Participant that doesn’t see broken screen: d6acd8a1-1a54-4d48-aa32-b7a66ae3b54b |
thanks! |
I see some errors when trying to decrypt 12:16:27.510 livekit-client.e2ee.worker.mjs:1043 TypeError: Destination stream closed
at yUe.<anonymous> (index-a4841935.js:1205:66344)
at Generator.next (<anonymous>)
at index-a4841935.js:1171:39721
at new Promise (<anonymous>)
at ye (index-a4841935.js:1171:39518)
at yUe.handleReceiver (index-a4841935.js:1205:65753)
at yUe.setupE2EEReceiver (index-a4841935.js:1205:65482)
at YUe.<anonymous> (index-a4841935.js:1205:63527)
at Pr.emit (index-a4841935.js:1171:42543)
at YUe.emit (index-a4841935.js:1207:135702)
(anonymous) @ livekit-client.e2ee.worker.mjs:1043
Promise.catch (async)
setupTransform @ livekit-client.e2ee.worker.mjs:1042
onmessage @ livekit-client.e2ee.worker.mjs:1628
Show 3 more frames
Show less
12:16:27.516 console.js:213 InternalError: Destination stream closed
overrideMethod @ console.js:213
onWorkerMessage @ livekit-client.esm.mjs:14443
Show 2 more frames
Show less
12:16:27.516 livekit-client.esm.mjs:23124 room event encryptionError {room: 'f4a2314a-cbc1-4d2f-b573-465b69fbb7ca', roomSid: 'RM_AE7x4GgZ4UTs', identity: '117d568a-f3fb-4a0e-8eb2-9d92d5e63033', event: 'encryptionError', args: Array(1)} This should however have no impact for longer than a frame (it only shows up twice in the whole session) and also the participant that continued to see the screen share has the same errors in their logs. So it's unlikely that this is the root issue. |
using ExternalE2EEKeyProvider from 'livekit-client'. We create Room instance and set the key (setKey) and E2EEEnabled (setE2EEEnabled(true)) immediately. |
got it. I can't see anything unexpected in the logs. I audited the code paths that get executed when a track gets unpublished/unsubscribed and found a potential edge case. |
Hey, we've updated the client version to v2.0.3, which includes the changes from #1032. Unfortunately, the problem still persists |
v2.0.4 has some (very) verbose e2ee logs. It'll be hard to sift through them, but another repro on that version with |
Hey, sorry for the delay, we reproduced on client v2.0.7 Participants with broken e2ee: Participants that didn't see anything wrong: Complementary video (of participant without visible broken e2ee): https://we.tl/t-3IES9Tca1N |
thanks! Did the e2ee display for paulius and dooman break only of one participant? If not, can you tell me which tracks broke for paulius and dooman respectively? dropping some filtered logs here around what looks like an issue with transceiver reuse
|
Paulius : @pink-careful-anglerfish:matrix.meedio.pro:TDZFDRTEXL not 100% that only 1 participant broke, as some tiles had their video feeds muted. But can confirm that this participant(dooman) @shq9agyxow:matrix.meedio.pro:DFLHOQSHFI broke for paulius |
got it, I added some sanity checks and some logs specifically to give more insight for this issue in #1082. |
Hi, @lukasIO, do you need more tests for this? |
Yeah, we still weren't able to repro this. If you can repro with the changes from #1082 (they're released in the latest client version) we would get more info on what's going on. |
Client version: 2.0.10 Participant ids: Logs (e2ee for screenshare tile breaks at ~12:39:38): Video (Ignas): https://we.tl/t-jdcjlnnMEu |
@revertiz thank you, that's helpful. |
Sent you over PM in slack |
Hey @lukasIO, any news on this? |
Unfortunately no news yet. |
I don't know If this helps. You can delete otherwise. I am implementing my own video calling application. And I have found that the video stream works and i can see the camera stream in a No decryption error in the logs. (with |
Describe the bug
When couple participants stop screen sharing (possibly in a quick succession) the e2ee breaks and a random 1-2 tracks are not decrypted
Server
Client
To Reproduce
Steps to reproduce the behavior:
The steps are a bit unclear and reproduce is not easy, but the general idea is:
Expected behavior
e2ee continues to work for every participant
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
I can reproduce both in my app and in livekit demo page (https://meet.livekit.io/)
The text was updated successfully, but these errors were encountered: