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

Audio call disconnect problem in IOS Mobile SDK and Jitsi Meet(IOS)  app available in app store #9619

Closed
kirtirc opened this issue Jul 28, 2021 · 27 comments · Fixed by #9759
Assignees

Comments

@kirtirc
Copy link

kirtirc commented Jul 28, 2021

Hello
we are using latest Jitsti mobile SDK version 3.7.0 and facing call disconnection problem when UserA start audio call then User B Receive call then UserA changed Sound mode Phone mode (speaker to earpiece ) within 3-4 minute UserA disconnected and showing Rejoin popup.

UserA and UserB using Jitsi Mobile sample app or Jitsi Meet(IOS)  app on app store
This problem reproducible in Jitsi meet app available in app store and IOS Mobile SDK.

Note :- You have to put your phone near your ear to listen in earpiece to reproduce this problem.

I think it is related to proximity sensor problem ?
Please help me to resolve this problem.
Thanks in advance.

@saghul
Copy link
Member

saghul commented Jul 28, 2021

Can you please share some logs? The only thing we do with the proximity sensor is turn on / off the display.

@kirtirc
Copy link
Author

kirtirc commented Jul 28, 2021

Thanks for quick reply
attached log from sample app of SDK version 3.7.0

2021-07-28 18:13:19.138716+0530 jitsi-meet[48496:8896334] [JitsiMeetSDK] [modules/xmpp/JingleSessionPC.js] JingleSessionPC[p2p=true,initiator=false,sid=22f3bdb1f4de] received remote max frame height: 360
2021-07-28 18:13:19.138760+0530 jitsi-meet[48496:8896334] [JitsiMeetSDK] [modules/xmpp/JingleSessionPC.js] JingleSessionPC[p2p=false,initiator=false,sid=73b3dcs2nvj6n] setSenderVideoConstraint: 360
2021-07-28 18:13:19.138782+0530 jitsi-meet[48496:8896334] [JitsiMeetSDK] [modules/xmpp/JingleSessionPC.js] Queued make video active, audio active task...
2021-07-28 18:13:19.138802+0530 jitsi-meet[48496:8896334] [JitsiMeetSDK] [modules/xmpp/JingleSessionPC.js] JingleSessionPC[p2p=true,initiator=false,sid=22f3bdb1f4de] setSenderVideoConstraint: 360
2021-07-28 18:13:19.142392+0530 jitsi-meet[48496:8896334] [JitsiMeetSDK] [modules/xmpp/JingleSessionPC.js] JingleSessionPC[p2p=true,initiator=false,sid=22f3bdb1f4de] queued "content-modify" task(video senders="both")
2021-07-28 18:13:19.142516+0530 jitsi-meet[48496:8896558] [JitsiMeetSDK] [modules/xmpp/JingleSessionPC.js] Make video active, audio active task done!
2021-07-28 18:13:19.142567+0530 jitsi-meet[48496:8896836] [JitsiMeetSDK] [modules/xmpp/JingleSessionPC.js] "content-modify" task(video senders="both") done. PC = JingleSessionPC[p2p=true,initiator=false,sid=22f3bdb1f4de]
2021-07-28 18:14:38.723555+0530 jitsi-meet[48496:8897362] [JitsiMeetSDK] [modules/statistics/AudioOutputProblemDetector.js] A potential problem is detected with the audio output for participant 166121ed, local audio levels: [null,null], remote audio levels: undefined
2021-07-28 18:14:46.206824+0530 jitsi-meet[48496:8897124] [JitsiMeetSDK] [features/video-quality] Video quality level for thumbnail height: 712, is: 360, override: false, max full res N: 2
2021-07-28 18:14:46.206933+0530 jitsi-meet[48496:8897124] [JitsiMeetSDK] [modules/qualitycontrol/ReceiveVideoController.js] Updating receive maxFrameHeight: 360
2021-07-28 18:14:46.216197+0530 jitsi-meet[48496:8896558] [JitsiMeetSDK] [modules/RTC/BridgeChannel.js] Sending ReceiverVideoConstraints with {"constraints":{"166121ed":{"maxHeight":360}},"defaultConstraints":{"maxHeight":180},"lastN":0,"onStageEndpoints":["166121ed"],"selectedEndpoints":[]}
2021-07-28 18:14:46.216287+0530 jitsi-meet[48496:8896558] [JitsiMeetSDK] [modules/xmpp/JingleSessionPC.js] JingleSessionPC[p2p=true,initiator=false,sid=22f3bdb1f4de] setReceiverVideoConstraint - max frame height: 360
2021-07-28 18:14:46.216332+0530 jitsi-meet[48496:8896558] [JitsiMeetSDK] [modules/xmpp/JingleSessionPC.js] JingleSessionPC[p2p=true,initiator=false,sid=22f3bdb1f4de] sending content-modify, video senders: none, max frame height: 360
2021-07-28 18:14:46.236214+0530 jitsi-meet[48496:8896558] [JitsiMeetSDK] [features/video-quality] setReceiverVideoConstraint: 360
2021-07-28 18:16:46.492300+0530 jitsi-meet[48496:8897362] [JitsiMeetSDK] [modules/RTC/BridgeChannel.js] Channel closed by server
2021-07-28 18:16:46.492682+0530 jitsi-meet[48496:8896358] [JitsiMeetSDK] [modules/RTC/BridgeChannel.js] Channel closed: 1001 Stream end encountered
2021-07-28 18:16:46.555824+0530 jitsi-meet[48496:8897362] [JitsiMeetSDK] [modules/xmpp/JingleSessionPC.js] (TIME) ICE disconnected P2P? true: 1627476406553
2021-07-28 18:16:48.067758+0530 jitsi-meet[48496:8897124] [JitsiMeetSDK] SocketRocket: In debug mode. Allowing connection to any root cert
2021-07-28 18:16:48.083579+0530 jitsi-meet[48496:8898096] [JitsiMeetSDK] [modules/xmpp/xmpp.js] (TIME) Strophe connfail[item-not-found]: 1627476408068
2021-07-28 18:16:48.083649+0530 jitsi-meet[48496:8898096] [JitsiMeetSDK] [modules/xmpp/strophe.ping.js] Ping interval cleared
2021-07-28 18:16:48.083674+0530 jitsi-meet[48496:8898096] [JitsiMeetSDK] [modules/xmpp/xmpp.js] (TIME) Strophe disconnected[item-not-found]: 1627476408070
2021-07-28 18:16:48.083696+0530 jitsi-meet[48496:8898096] [JitsiMeetSDK] [modules/statistics/statistics.js] {"type":"operational","action":"connection.failed","attributes":{"error_type":"connection.otherError","error_message":"item-not-found","shard_changed":false,"suspend_time":109385,"time_since_last_success":3}}
2021-07-28 18:16:48.092572+0530 jitsi-meet[48496:8896358] [connection] nw_endpoint_handler_set_adaptive_read_handler [C12.1 146.56.49.101:443 ready socket-flow (satisfied (Path is satisfied), viable, interface: en0, ipv4, dns)] unregister notification for read_timeout failed
2021-07-28 18:16:48.092635+0530 jitsi-meet[48496:8896358] [connection] nw_endpoint_handler_set_adaptive_write_handler [C12.1 146.56.49.101:443 ready socket-flow (satisfied (Path is satisfied), viable, interface: en0, ipv4, dns)] unregister notification for write_timeout failed
2021-07-28 18:16:48.124219+0530 jitsi-meet[48496:8896358] [JitsiMeetSDK] [features/overlay] The conference will be reloaded after 3 seconds.
2021-07-28 18:16:48.325157+0530 jitsi-meet[48496:8898096] [JitsiMeetSDK] [features/base/lastn] There is no active conference, not updating last N
2021-07-28 18:16:48.745270+0530 jitsi-meet[48496:8898499] [JitsiMeetSDK] [features/base/lastn] There is no active conference, not updating last N
2021-07-28 18:16:48.750548+0530 jitsi-meet[48496:8896121] Participant left: 166121ed
2021-07-28 18:16:48.750695+0530 jitsi-meet[48496:8896836] [JitsiMeetSDK] [modules/e2eping/e2eping.js] Stopping e2eping
2021-07-28 18:16:48.758109+0530 jitsi-meet[48496:8896358] [JitsiMeetSDK] [modules/xmpp/JingleSessionPC.js] Clearing modificationQueue on JingleSessionPC[p2p=false,initiator=false,sid=73b3dcs2nvj6n]...
2021-07-28 18:16:48.758167+0530 jitsi-meet[48496:8896358] [JitsiMeetSDK] [modules/xmpp/JingleSessionPC.js] Queued PC close task on JingleSessionPC[p2p=false,initiator=false,sid=73b3dcs2nvj6n]...
2021-07-28 18:16:48.758190+0530 jitsi-meet[48496:8896358] [JitsiMeetSDK] [modules/xmpp/JingleSessionPC.js] Shutdown modificationQueue on JingleSessionPC[p2p=false,initiator=false,sid=73b3dcs2nvj6n]!
2021-07-28 18:16:48.764063+0530 jitsi-meet[48496:8896358] [JitsiMeetSDK] [modules/xmpp/JingleSessionPC.js] Clearing modificationQueue on JingleSessionPC[p2p=true,initiator=false,sid=22f3bdb1f4de]...
2021-07-28 18:16:48.764097+0530 jitsi-meet[48496:8896358] [JitsiMeetSDK] [modules/xmpp/JingleSessionPC.js] Queued PC close task on JingleSessionPC[p2p=true,initiator=false,sid=22f3bdb1f4de]...
2021-07-28 18:16:48.764118+0530 jitsi-meet[48496:8896358] [JitsiMeetSDK] [modules/xmpp/JingleSessionPC.js] Shutdown modificationQueue on JingleSessionPC[p2p=true,initiator=false,sid=22f3bdb1f4de]!
2021-07-28 18:16:48.770298+0530 jitsi-meet[48496:8896358] [JitsiMeetSDK] [modules/xmpp/ChatRoom.js] do leave 999aaa@conference.meet.jit.si/1f265da8
2021-07-28 18:16:48.798200+0530 jitsi-meet[48496:8896121] [/Users/Mac/Downloads/jitsi-meet-ios-sdk/ios/app/src/ViewController.m:47] JitsiMeetViewDelegate CONFERENCE_TERMINATED {
error = "connection.otherError";
url = "https://meet.jit.si/999aaa";
}

@saghul
Copy link
Member

saghul commented Jul 28, 2021

Hum, all I see there is a connectivity problem happening. Can you please provide step by step instructions to reproduce this?

@kirtirc
Copy link
Author

kirtirc commented Jul 28, 2021

Please download Jitsi Meet (IOS) app from App Store in 2 IOS Device
Step 1 : Then toggle on Voice (make audio call)
Step 2 : enter room name and click create/join button
Step 3 :Follow step 1 and 2 in another device
Step 4 : click 3 dots(more options) and select sound device “Phone”
Step 5 : put your device near ear and talk (like normal cellular call) 3-5 minute and your meeting will be disconnected and will see rejoin option

We have no connection problem and we trying more than 1 months to find this problem and we conclude that this is due to talk like normal cellular call .

Step 5 is more important to reproduce this problem if we put phone infront of my desk or my face then working fine.problem occur only when phone using like normal phone call in earpiece call.

@saghul
Copy link
Member

saghul commented Jul 28, 2021

Thanks, I'll give that a go.

@saghul saghul self-assigned this Jul 28, 2021
@kirtirc
Copy link
Author

kirtirc commented Jul 29, 2021

@saghul do you have any idea / suggestion, how can fix this issue
Thanks

@kirtirc
Copy link
Author

kirtirc commented Aug 3, 2021

@saghul Please help me ,how can fix this issue.
Thanks

@kaushal2406
Copy link

Anyone found Solution for this weired problem ? I am also having same problem.

@vinitcc
Copy link

vinitcc commented Aug 6, 2021

@saghul I am getting same issue the audio call is disconnecting but I don't get any reason and the log. Please help me.

@saghul
Copy link
Member

saghul commented Aug 9, 2021

I tried to reproduce this with the Jitsi Meet app 21.3 beta, to no avail. We have not done any specific change that would explain what you see though.

Can you folks check with the latest beta? If will be released as SDK 3.8.0 soon.

@kirtirc
Copy link
Author

kirtirc commented Aug 9, 2021

Hello
i have checked in Jitsi Meet app 21.3 beta and still have same problem, make sure you followed same step as provided.
here is steps.

Please download Jitsi Meet (IOS) app from App Store in 2 IOS Device
Step 1 : Then toggle on Voice (make ONLY audio call)
Step 2 : enter room name and click create/join button
Step 3 :Follow step 1 and 2 in another device
Step 4 : click 3 dots(more options) and "select sound device “ then choose "Phone”
Step 5 : Now talk like as if you are getting a normal call , by putting the phone on your ears and NOT ON SPEAKER DO NOT USE BLUETOOTH OR EAR PHONES. AFTER 3-5 minutes this call/meeting will be disconnected and you will get rejoin dialog box.

Step 5 is more important to reproduce this problem if we put phone in front of my desk or my face then working fine.problem occur only when phone using like normal phone call in earpiece call.

Here is attached log again.

2021-08-09 20:32:15.152317+0530 jitsi-meet[626:119441] [JitsiMeetSDK] [modules/xmpp/JingleSessionPC.js] JingleSessionPC[session=JVB,initiator=false,sid=en5u37u5pldg2] sendIceCandidates [{"candidate":"candidate:1285208720 1 udp 2122260223 192.168.175.82 49273 typ host generation 0 ufrag 4Pcv network-id 1 network-cost 10","sdpMLineIndex":0,"sdpMid":"audio"},{"candidate":"candidate:2244698245 1 udp 2122197247 2401:4900:195e:99d2:b0ac:e81c:200c:2f9 58614 typ host generation 0 ufrag 4Pcv network-id 8 network-cost 900","sdpMLineIndex":0,"sdpMid":"audio"},{"candidate":"candidate:114693515 1 udp 2122131711 2401:4900:365d:d171:21c6:32e0:36c2:2829 63231 typ host generation 0 ufrag 4Pcv network-id 9 network-cost 900","sdpMLineIndex":0,"sdpMid":"audio"},{"candidate":"candidate:1041520321 1 udp 2122063615 100.90.64.229 59450 typ host generation 0 ufrag 4Pcv network-id 7 network-cost 900","sdpMLineIndex":0,"sdpMid":"audio"},{"candidate":"candidate:2194072531 1 udp 2122000639 2401:4900:365d:d171:881:4564:c90f:b7c1 55992 typ host generation 0 ufrag 4Pcv network-id 2 network-cost 50","sdpMLineIndex":0,"sdpMid":"audio"},{"candidate":"candidate:2194072531 1 udp 2121935103 2401:4900:365d:d171:881:4564:c90f:b7c1 49787 typ host generation 0 ufrag 4Pcv network-id 3 network-cost 50","sdpMLineIndex":0,"sdpMid":"audio"},{"candidate":"candidate:2194072531 1 udp 2121869567 2401:4900:365d:d171:881:4564:c90f:b7c1 61504 typ host generation 0 ufrag 4Pcv network-id 4 network-cost 50","sdpMLineIndex":0,"sdpMid":"audio"}]
2021-08-09 20:32:15.155205+0530 jitsi-meet[626:119441] [JitsiMeetSDK] [modules/RTC/TraceablePeerConnection.js] TPC[id=1,type=JVB] adding remote track for stream[id=0b84cb60-audio-2,type=audio]
2021-08-09 20:32:15.155232+0530 jitsi-meet[626:119441] [JitsiMeetSDK] [modules/RTC/TraceablePeerConnection.js] TPC[id=1,type=JVB] creating remote track[endpoint=0b84cb60,ssrc=1419917216,type=audio]
2021-08-09 20:32:15.155262+0530 jitsi-meet[626:119441] [JitsiMeetSDK] [modules/RTC/JitsiRemoteTrack.js] New remote track added: RemoteTrack[userID: 0b84cb60, type: audio, ssrc: 1419917216, p2p: false, status: readyState: live, muted: false, enabled: true]
2021-08-09 20:32:15.155282+0530 jitsi-meet[626:119441] [JitsiMeetSDK] [JitsiConference.js] Trying to add remote JVB track, when in P2P - IGNORED
2021-08-09 20:32:15.155738+0530 jitsi-meet[626:119433] [JitsiMeetSDK] [modules/RTC/TraceablePeerConnection.js] TPC[id=1,type=JVB] adding remote track for stream[id=0b84cb60-video-2,type=video]
2021-08-09 20:32:15.155765+0530 jitsi-meet[626:119433] [JitsiMeetSDK] [modules/RTC/TraceablePeerConnection.js] TPC[id=1,type=JVB] creating remote track[endpoint=0b84cb60,ssrc=439961582,type=video]
2021-08-09 20:32:15.155785+0530 jitsi-meet[626:119433] [JitsiMeetSDK] [modules/RTC/JitsiRemoteTrack.js] New remote track added: RemoteTrack[userID: 0b84cb60, type: video, ssrc: 439961582, p2p: false, status: readyState: live, muted: false, enabled: true]
2021-08-09 20:32:15.155804+0530 jitsi-meet[626:119433] [JitsiMeetSDK] [JitsiConference.js] Trying to add remote JVB track, when in P2P - IGNORED
2021-08-09 20:32:15.164623+0530 jitsi-meet[626:119441] [JitsiMeetSDK] [modules/xmpp/JingleSessionPC.js] (TIME) ICE connected JVB: 1628521335164
2021-08-09 20:32:15.203107+0530 jitsi-meet[626:119441] [JitsiMeetSDK] [modules/sdp/SdpConsistency.js] TPC[id=1,type=JVB] no SSRC found for the recvonly video stream!
2021-08-09 20:32:15.225043+0530 jitsi-meet[626:119441] [JitsiMeetSDK] [modules/xmpp/JingleSessionPC.js] JingleSessionPC[session=JVB,initiator=false,sid=en5u37u5pldg2] addRemoteStream - OK
2021-08-09 20:32:15.263784+0530 jitsi-meet[626:119433] [JitsiMeetSDK] [modules/sdp/SdpConsistency.js] TPC[id=2,type=P2P] no SSRC found for the recvonly video stream!
2021-08-09 20:32:15.263839+0530 jitsi-meet[626:119433] [JitsiMeetSDK] [modules/RTC/TraceablePeerConnection.js] TPC[id=2,type=P2P] Adjusted local video direction to inactive
2021-08-09 20:32:15.338966+0530 jitsi-meet[626:119433] [JitsiMeetSDK] [modules/sdp/SdpConsistency.js] TPC[id=1,type=JVB] no SSRC found for the recvonly video stream!
2021-08-09 20:32:15.339029+0530 jitsi-meet[626:119433] [JitsiMeetSDK] [modules/RTC/TraceablePeerConnection.js] TPC[id=1,type=JVB] Adjusted local audio direction to inactive
2021-08-09 20:32:15.339797+0530 jitsi-meet[626:119441] [JitsiMeetSDK] [modules/RTC/TraceablePeerConnection.js] TPC[id=1,type=JVB] Adjusted local video direction to inactive
2021-08-09 20:32:15.354722+0530 jitsi-meet[626:119671] [JitsiMeetSDK] [JitsiConference.js] Suspended media transfer over the JVB connection !
2021-08-09 20:32:15.360115+0530 jitsi-meet[626:119745] [JitsiMeetSDK] [JitsiConference.js] Suspending media transfer over the JVB connection...
2021-08-09 20:32:15.366224+0530 jitsi-meet[626:119745] [JitsiMeetSDK] [modules/xmpp/JingleSessionPC.js] JingleSessionPC[session=JVB,initiator=false,sid=en5u37u5pldg2] Queued make video inactive, audio inactive task
2021-08-09 20:32:15.366348+0530 jitsi-meet[626:119745] [JitsiMeetSDK] [modules/RTC/BridgeChannel.js] Sending ReceiverVideoConstraints with {"constraints":{"0b84cb60":{"maxHeight":360}},"defaultConstraints":{"maxHeight":0},"lastN":25,"onStageEndpoints":["0b84cb60"],"selectedEndpoints":[]}
2021-08-09 20:32:15.373212+0530 jitsi-meet[626:119671] [JitsiMeetSDK] [JitsiConference.js] Got RESULT for P2P "session-accept"
2021-08-09 20:32:15.373258+0530 jitsi-meet[626:119671] [JitsiMeetSDK] [modules/xmpp/JingleSessionPC.js] JingleSessionPC[session=P2P,initiator=false,sid=e8b365104766] Switching video codec from vp8 to h264
2021-08-09 20:32:15.373280+0530 jitsi-meet[626:119671] [JitsiMeetSDK] [modules/xmpp/JingleSessionPC.js] JingleSessionPC[session=P2P,initiator=false,sid=e8b365104766] setReceiverVideoConstraint - max frame height: 2160
2021-08-09 20:32:15.379441+0530 jitsi-meet[626:119746] [JitsiMeetSDK] [modules/xmpp/JingleSessionPC.js] JingleSessionPC[session=P2P,initiator=false,sid=e8b365104766] sending content-modify, video senders: none, max frame height: 2160
2021-08-09 20:32:15.379475+0530 jitsi-meet[626:119746] [JitsiMeetSDK] [modules/xmpp/JingleSessionPC.js] JingleSessionPC[session=P2P,initiator=false,sid=e8b365104766] received remote max frame height: 2160
2021-08-09 20:32:15.387092+0530 jitsi-meet[626:119745] [JitsiMeetSDK] [modules/xmpp/JingleSessionPC.js] JingleSessionPC[session=JVB,initiator=false,sid=en5u37u5pldg2] setSenderVideoConstraint: 360
2021-08-09 20:32:15.387132+0530 jitsi-meet[626:119745] [JitsiMeetSDK] [modules/xmpp/JingleSessionPC.js] JingleSessionPC[session=JVB,initiator=false,sid=en5u37u5pldg2] Queued make video active, audio active task
2021-08-09 20:32:15.387155+0530 jitsi-meet[626:119745] [JitsiMeetSDK] [modules/xmpp/JingleSessionPC.js] JingleSessionPC[session=P2P,initiator=false,sid=e8b365104766] setSenderVideoConstraint: 360
2021-08-09 20:32:15.419618+0530 jitsi-meet[626:119745] [JitsiMeetSDK] [JitsiConference.js] Suspended media transfer over the JVB connection !
2021-08-09 20:32:15.485200+0530 jitsi-meet[626:119745] [JitsiMeetSDK] [modules/sdp/SdpConsistency.js] TPC[id=1,type=JVB] no SSRC found for the recvonly video stream!
2021-08-09 20:32:15.495962+0530 jitsi-meet[626:119671] [JitsiMeetSDK] [modules/sdp/SdpConsistency.js] TPC[id=2,type=P2P] no SSRC found for the recvonly video stream!
2021-08-09 20:32:15.496014+0530 jitsi-meet[626:119671] [JitsiMeetSDK] [modules/RTC/TraceablePeerConnection.js] TPC[id=2,type=P2P] Adjusted local video direction to inactive
2021-08-09 20:32:15.517776+0530 jitsi-meet[626:119746] [JitsiMeetSDK] [modules/xmpp/JingleSessionPC.js] JingleSessionPC[session=JVB,initiator=false,sid=en5u37u5pldg2] Processing removeRemoteStream
2021-08-09 20:32:15.523172+0530 jitsi-meet[626:119745] [JitsiMeetSDK] Halt: There are no SSRC groups in the remote description.
2021-08-09 20:32:15.561033+0530 jitsi-meet[626:119671] [JitsiMeetSDK] [modules/RTC/TraceablePeerConnection.js] TPC[id=1,type=JVB] remote track removed stream[id=0b84cb60-audio-2,trackId=f6f10fb1-ef36-4606-873e-5a31f91b0e8e-2]
2021-08-09 20:32:15.561387+0530 jitsi-meet[626:119746] [JitsiMeetSDK] [modules/RTC/TraceablePeerConnection.js] TPC[id=1,type=JVB] remote track removed stream[id=0b84cb60-video-2,trackId=1dfc2445-43aa-4eec-809a-e7987172b2de-2]
2021-08-09 20:32:15.580892+0530 jitsi-meet[626:119671] [JitsiMeetSDK] [modules/sdp/SdpConsistency.js] TPC[id=1,type=JVB] no SSRC found for the recvonly video stream!
2021-08-09 20:32:15.595457+0530 jitsi-meet[626:119746] [JitsiMeetSDK] [modules/xmpp/JingleSessionPC.js] JingleSessionPC[session=JVB,initiator=false,sid=en5u37u5pldg2] removeRemoteStream - OK
2021-08-09 20:32:16.672370+0530 jitsi-meet[626:119670] [JitsiMeetSDK] [modules/RTC/BridgeChannel.js] Dominant speaker: a3024642, previous speakers: 0b84cb60
2021-08-09 20:32:16.959922+0530 jitsi-meet[626:119670] [JitsiMeetSDK] [VideoTrackAdapter] Mute event for 1 8BE5BEA5-CAB2-4328-AD5C-54EF38A6207E 1dfc2445-43aa-4eec-809a-e7987172b2de-1
2021-08-09 20:32:16.980498+0530 jitsi-meet[626:119745] [JitsiMeetSDK] [modules/RTC/JitsiRemoteTrack.js] "onmute" event(1628521336962): RemoteTrack[userID: 0b84cb60, type: video, ssrc: 1825856997, p2p: true, status: readyState: live, muted: true, enabled: true]
2021-08-09 20:32:16.980750+0530 jitsi-meet[626:119745] [JitsiMeetSDK] [modules/connectivity/ParticipantConnectionStatus.js] Detector track RTC muted: 0b84cb60 1628521336964
2021-08-09 20:32:16.982578+0530 jitsi-meet[626:119670] [JitsiMeetSDK] [VideoTrackAdapter] Mute event for 0 D156A4FA-F5B5-451A-A401-51E02219B2A2 mixedlabelvideo0
2021-08-09 20:32:17.506189+0530 jitsi-meet[626:119670] [JitsiMeetSDK] [modules/connectivity/ParticipantConnectionStatus.js] Set RTC mute timeout for: 0b84cb60 of 500 ms
2021-08-09 20:32:17.506254+0530 jitsi-meet[626:119671] [JitsiMeetSDK] [modules/connectivity/ParticipantConnectionStatus.js] Figure out conn status for 0b84cb60, is video muted: true is active(jvb): true video track frozen: true p2p mode: true is in last N: false currentStatus => newStatus: active => active
2021-08-09 20:32:18.034838+0530 jitsi-meet[626:119670] [JitsiMeetSDK] [VideoTrackAdapter] Mute event for 0 8796BB28-6ACB-4B16-855B-40BE74CB78C1 1dfc2445-43aa-4eec-809a-e7987172b2de-2
2021-08-09 20:33:00.521832+0530 jitsi-meet[626:119441] [JitsiMeetSDK] [modules/xmpp/JingleSessionPC.js] JingleSessionPC[session=P2P,initiator=false,sid=e8b365104766] received remote max frame height: 2160
2021-08-09 20:33:00.539252+0530 jitsi-meet[626:119916] [JitsiMeetSDK] [modules/xmpp/JingleSessionPC.js] JingleSessionPC[session=JVB,initiator=false,sid=en5u37u5pldg2] setSenderVideoConstraint: 360
2021-08-09 20:33:00.539410+0530 jitsi-meet[626:119433] [JitsiMeetSDK] [modules/xmpp/JingleSessionPC.js] JingleSessionPC[session=JVB,initiator=false,sid=en5u37u5pldg2] Queued make video active, audio active task
2021-08-09 20:33:00.539486+0530 jitsi-meet[626:119433] [JitsiMeetSDK] [modules/xmpp/JingleSessionPC.js] JingleSessionPC[session=P2P,initiator=false,sid=e8b365104766] setSenderVideoConstraint: 360
2021-08-09 20:34:00.517081+0530 jitsi-meet[626:119671] [JitsiMeetSDK] [modules/RTC/BridgeChannel.js] Channel closed by server
2021-08-09 20:34:00.517298+0530 jitsi-meet[626:119916] [JitsiMeetSDK] [modules/RTC/BridgeChannel.js] Channel closed: 1001 Stream end encountered
2021-08-09 20:34:00.611967+0530 jitsi-meet[626:119916] [JitsiMeetSDK] [modules/xmpp/JingleSessionPC.js] (TIME) ICE disconnected P2P: 1628521440584
2021-08-09 20:34:07.315964+0530 jitsi-meet[626:119670] [JitsiMeetSDK] [modules/xmpp/JingleSessionPC.js] (TIME) ICE disconnected JVB: 1628521447312
2021-08-09 20:34:07.597231+0530 jitsi-meet[626:119441] [JitsiMeetSDK] SocketRocket: In debug mode. Allowing connection to any root cert
2021-08-09 20:34:07.619280+0530 jitsi-meet[626:119670] [connection] nw_endpoint_handler_set_adaptive_read_handler [C10.1 146.56.48.19:443 ready socket-flow (satisfied (Path is satisfied), viable, interface: en0, ipv4, dns)] unregister notification for read_timeout failed
2021-08-09 20:34:07.619338+0530 jitsi-meet[626:119670] [connection] nw_endpoint_handler_set_adaptive_write_handler [C10.1 146.56.48.19:443 ready socket-flow (satisfied (Path is satisfied), viable, interface: en0, ipv4, dns)] unregister notification for write_timeout failed
2021-08-09 20:34:07.649738+0530 jitsi-meet[626:119433] [JitsiMeetSDK] [modules/xmpp/xmpp.js] (TIME) Strophe connfail[item-not-found]: 1628521447622
2021-08-09 20:34:07.649803+0530 jitsi-meet[626:119433] [JitsiMeetSDK] [modules/xmpp/strophe.ping.js] Ping interval cleared
2021-08-09 20:34:07.649832+0530 jitsi-meet[626:119433] [JitsiMeetSDK] [modules/xmpp/xmpp.js] (TIME) Strophe disconnected[item-not-found]: 1628521447623
2021-08-09 20:34:07.649865+0530 jitsi-meet[626:119433] [JitsiMeetSDK] [modules/statistics/statistics.js] {"type":"operational","action":"connection.failed","attributes":{"error_type":"connection.otherError","error_message":"item-not-found","shard_changed":false,"suspend_time":79071,"time_since_last_success":1}}
2021-08-09 20:34:07.692878+0530 jitsi-meet[626:119670] [JitsiMeetSDK] [features/overlay] The conference will be reloaded after 12 seconds.
2021-08-09 20:34:07.955028+0530 jitsi-meet[626:119441] [JitsiMeetSDK] [features/base/lastn] There is no active conference, not updating last N
2021-08-09 20:34:07.980852+0530 jitsi-meet[626:119056] Participant left: 0b84cb60
2021-08-09 20:34:07.980977+0530 jitsi-meet[626:119671] [JitsiMeetSDK] [features/base/lastn] There is no active conference, not updating last N
2021-08-09 20:34:07.993536+0530 jitsi-meet[626:119441] [JitsiMeetSDK] [modules/e2eping/e2eping.js] Stopping e2eping
2021-08-09 20:34:08.027180+0530 jitsi-meet[626:119441] [JitsiMeetSDK] [modules/xmpp/ChatRoom.js] do leave aaa111@conference.meet.jit.si/a3024642
2021-08-09 20:34:08.043873+0530 jitsi-meet[626:119056] [/Users/Mac/Downloads/jitsi-meet-mobile-21.3 2/ios/app/src/ViewController.m:47] JitsiMeetViewDelegate CONFERENCE_TERMINATED {
error = "connection.otherError";
url = "https://meet.jit.si/aaa111";
}
2021-08-09 20:34:08.052461+0530 jitsi-meet[626:119056] [/Users/Mac/Downloads/jitsi-meet-mobile-21.3 2/ios/app/src/ViewController.m:47] JitsiMeetViewDelegate CONFERENCE_TERMINATED {
error = "connection.otherError";
url = "https://meet.jit.si/aaa111";
}
2021-08-09 20:34:08.052721+0530 jitsi-meet[626:119441] [JitsiMeetSDK] [modules/RTC/TraceablePeerConnection.js] TPC[id=1,type=JVB] Closing peerconnection
2021-08-09 20:34:08.091880+0530 jitsi-meet[626:120351] [JitsiMeetSDK] [features/base/lastn] There is no active conference, not updating last N
2021-08-09 20:34:08.109947+0530 jitsi-meet[626:119670] [JitsiMeetSDK] [modules/RTC/TraceablePeerConnection.js] TPC[id=2,type=P2P] Closing peerconnection
2021-08-09 20:34:08.121139+0530 jitsi-meet[626:119056] Participant left: 0b84cb60
2021-08-09 20:34:08.121393+0530 jitsi-meet[626:120350] [JitsiMeetSDK] [features/base/lastn] There is no active conference, not updating last N
2021-08-09 20:34:08.121427+0530 jitsi-meet[626:120350] [JitsiMeetSDK] [JitsiConference.js] P2P? peerCount: 0, hasBotPeer: false => false

@saghul
Copy link
Member

saghul commented Aug 10, 2021

Hello
i have checked in Jitsi Meet app 21.3 beta and still have same problem, make sure you followed same step as provided.
here is steps.

Please download Jitsi Meet (IOS) app from App Store in 2 IOS Device
Step 1 : Then toggle on Voice (make ONLY audio call)
Step 2 : enter room name and click create/join button
Step 3 :Follow step 1 and 2 in another device
Step 4 : click 3 dots(more options) and "select sound device “ then choose "Phone”
Step 5 : Now talk like as if you are getting a normal call , by putting the phone on your ears and NOT ON SPEAKER DO NOT USE BLUETOOTH OR EAR PHONES. AFTER 3-5 minutes this call/meeting will be disconnected and you will get rejoin dialog box.

That's what I did. I set a timer to 5 minutes and kept my phone on my ear. Not sure why your connection drops... do you have a different network you can test on?

@kirtirc
Copy link
Author

kirtirc commented Aug 10, 2021

@saghul thanks for quick reply
we checked again in different network and different IOS Device and every time reproduce this problem within 2-3 minute call disconnect, can reproduce this problem in IOS-IOS Device, IOS to Android and IOS to Desktop Browser and this problem occur in IOS device Only.

have you followed from step 1 to step 5 and make sure you don't miss any steps. and do not check on speaker mode
Thanks

@saghul
Copy link
Member

saghul commented Aug 10, 2021

Yep, I double checked. What iOS version are you using?

@kirtirc
Copy link
Author

kirtirc commented Aug 10, 2021

Iphone X - ios 14.5 and ios 14.6
Iphone 12 - ios 14.5 and ios 14.6
Iphone 7 - ios 14.6
iPhone 7 Plus iOS 14.3

@parth2326
Copy link

@saghul I am also facing the same issue in ios sdk. in current ios app downloaded from appstore and when trying to call and placing phone on ear then it will get disconnected within sometime. Please check this.
thank you.

@saghul
Copy link
Member

saghul commented Aug 17, 2021

Do you have the voip and audio background modes enabled? Can you reproduce it with the beta app? Please provide your logs.

@parth2326
Copy link

Hello @saghul
I checked the 3.8.0(beta) version source code. void and audio background is enabled. and still i am getting this error.

[/Users/Mac/Downloads/jitsi-meet-ios-sdk-3.8.0/ios/app/src/ViewController.m:47] JitsiMeetViewDelegate CONFERENCE_TERMINATED {
error = "connection.otherError";
url = "https://meet.jit.si/111222333";
}
2021-08-17 18:37:01.928304+0530 jitsi-meet[6860:2664530] [/Users/Mac/Downloads/jitsi-meet-ios-sdk-3.8.0/ios/app/src/ViewController.m:47] JitsiMeetViewDelegate CONFERENCE_TERMINATED {
error = "connection.otherError";
url = "https://meet.jit.si/111222333";
}
2021-08-17 18:37:01.928392+0530 jitsi-meet[6860:2665596] [JitsiMeetSDK] [modules/RTC/TraceablePeerConnection.js] TPC[id=1,type=JVB] Closing peerconnection
2021-08-17 18:37:01.928423+0530 jitsi-meet[6860:2665596] [JitsiMeetSDK] [modules/xmpp/JingleSessionPC.js] JingleSessionPC[session=JVB,initiator=false,sid=182671atge78m] PC close task done!
2021-08-17 18:37:01.928442+0530

@kirtirc
Copy link
Author

kirtirc commented Aug 18, 2021

Hello @saghul
I have downloaded latest version 21.3.0 from App Store and checked that It not changing sound device Speaker to phone and it always keep speaker mode on and that why this issue can not reproduce again.
Can you please fix change of speaker to phone audio device mode not working in latest app store version .

IMG_0190

@saghul
Copy link
Member

saghul commented Aug 18, 2021

Hum, you're right that's really weird. When I tested I know it worked because I was putting it to my ear. I'll take a look.

@saghul
Copy link
Member

saghul commented Aug 19, 2021

I found the problem. This would also explain the disconnects actually: #9757 I'm pushing a new beta now.

@kirtirc
Copy link
Author

kirtirc commented Aug 19, 2021

Hello @saghul
device selection (Speaker to phone) problem fixed but original problem not fixed yet.
here is step to reproduce problem

Step 1 : Then toggle on Voice (make ONLY audio call)
Step 2 : enter room name and click create/join button
Step 3 :Follow step 1 and 2 in another device
Step 4 : click 3 dots(more options) and "select sound device “ then choose "Phone”
Step 5 : Now talk like as if you are getting a normal call , by putting the phone on your ears and NOT ON SPEAKER DO NOT USE BLUETOOTH OR EAR PHONES. AFTER 3-5 minutes this call/meeting will be disconnected and you will get rejoin dialog box.

Thanks

@saghul
Copy link
Member

saghul commented Aug 19, 2021

Good news, I am now able to reproduce the problem. I guess the deadlock prevented the actual device switch, so I wasn't actually testing the right thing.

saghul added a commit to saghul/jitsi-meet that referenced this issue Aug 19, 2021
React Native links timers to the display, so they cannot run when the display is
not running. Builtin timers already take being in the background into account,
but not the proximity sensor.

Fixes: jitsi#9619
saghul added a commit to saghul/jitsi-meet that referenced this issue Aug 19, 2021
React Native links timers to the display, so they cannot run when the display is
not running. Builtin timers already take being in the background into account,
but not the proximity sensor.

Credits: react-native-webrtc/react-native-callkeep#143

Fixes: jitsi#9619
@saghul
Copy link
Member

saghul commented Aug 19, 2021

Got a fix: #9759 - Beta coming soon.

saghul added a commit that referenced this issue Aug 19, 2021
React Native links timers to the display, so they cannot run when the display is
not running. Builtin timers already take being in the background into account,
but not the proximity sensor.

Credits: react-native-webrtc/react-native-callkeep#143

Fixes: #9619
saghul added a commit that referenced this issue Aug 19, 2021
React Native links timers to the display, so they cannot run when the display is
not running. Builtin timers already take being in the background into account,
but not the proximity sensor.

Credits: react-native-webrtc/react-native-callkeep#143

Fixes: #9619
saghul added a commit that referenced this issue Aug 19, 2021
React Native links timers to the display, so they cannot run when the display is
not running. Builtin timers already take being in the background into account,
but not the proximity sensor.

Credits: react-native-webrtc/react-native-callkeep#143

Fixes: #9619
@kirtirc
Copy link
Author

kirtirc commented Aug 23, 2021

@saghul thank you so much you have done great Job !!!

@parth2326
Copy link

@saghul thanks. fixed my issue as well.

@saghul
Copy link
Member

saghul commented Aug 23, 2021

Thanks for confirming folks! This was a tricky one, so thanks for providing logs and helping with testing!

e4basil pushed a commit to e4basil/jitsi-meet that referenced this issue Aug 24, 2021
React Native links timers to the display, so they cannot run when the display is
not running. Builtin timers already take being in the background into account,
but not the proximity sensor.

Credits: react-native-webrtc/react-native-callkeep#143

Fixes: jitsi#9619
EricHier pushed a commit to sefdigital/jitsi-meet that referenced this issue Sep 28, 2021
React Native links timers to the display, so they cannot run when the display is
not running. Builtin timers already take being in the background into account,
but not the proximity sensor.

Credits: react-native-webrtc/react-native-callkeep#143

Fixes: jitsi#9619
LancharroDav added a commit to ivicos-GmbH/jitsi-meet that referenced this issue Nov 3, 2021
* fix(rn,sidebar) fix not appearing on RTL languages

* fix: Fixes an error with configuration without analytics.

Fixes an error `Cannot convert undefined or null to object` on load.

* fix(share-video) fix links not being trimmed (jitsi#9740)

* fix(participants) sort participants alphabetically (jitsi#9741)

* fix(moderation) display green mic icon only for active speaker (jitsi#9744)

* fix(prosody) fix typo in filename

* fix(prosody) fix username not being set in mod_auth_jitsi-anonymous

If the session was not resumed the plugin must generate a random username, just
like the regular anonymous authentication plugin does.

* fix(participants-pane) fixed participants pane button toggled state

* added comment for future proofing

* fix: Fixes dot shown left of logo.

Empty list with border is showing 2px dot.

* feat(Filmstrip): Reorder the visible participants in the filmstrip. (jitsi#9707)

* feat(Filmstrip): Reorder the visible participants in the filmstrip.
The participants are ordered alphabetically and the endpoints with screenshares, shared-videos and dominant speakers (in that order) are bumped to the top of the list. The local participant is also moved to the top left corner as opposed to the bottom right corner.

* squash: Implement review comments.

* squash: store alphabetically sorted list in redux and move shared videos to top.

* squash: Use the DEFAULT_REMOTE_DISPLAY_NAME from interfaceConfig for users without a display name.

* fix(lang) update portuguese translation

* fix(moderation) hide status icons on hover (jitsi#9747)

* fix(ios) fix deadlock when selecting audio device

In WebRTC M92 the RTCAudioSession lock changed from a recursive one to a regular
mutex one, so make sure we don't attempt to lock it  while already holding the
lock.

* fix(AudioRoutePickerDialog) add proper margin

* fix(moderation) highlight dominant speaker (jitsi#9750)

* feat(xmpp) remove clientNode config option

* fix(ios) fix conference failing when proximity sensor is near

React Native links timers to the display, so they cannot run when the display is
not running. Builtin timers already take being in the background into account,
but not the proximity sensor.

Credits: react-native-webrtc/react-native-callkeep#143

Fixes: jitsi#9619

* fix(e2ee) update E2EE warning message

* fix(e2ee) show entire content at all times

* fix(e2ee) fix showing not supported warning when alone

* fix(moderation) fix ui styles for advanced moderation context menu (jitsi#9758)

* fix(jaas) do not redirect to plan limit page on auth errors (jitsi#9746)

* Improve premeeting screens ux (jitsi#9726)

* feat(prejoin) move invite to toolbar section

* feat(premeeting) redesign prejoin and lobby screens

* code review changes

* fix prejoin flicker and avatar id

* fix password error message and native lobby dialog close position

* chore(rn,versions) bump app and sdk versions

* fix(lang) update Portuguese translation

* fix(rn,amplitude) update Amplitude SDK on RN

Amplitude has gone back to having a separate package for RN, so switch to it.

* fix(drawer-menu) Allow scroll on drawer menu items

* feat(reaction-sounds) Added sounds for reactions (jitsi#9775)

* Added sounds for reactions

* Updated reactions list

* Added reactions to sound settings

* Added support for multiple sounds

* Added feature flag for sounds

* Updated sound settings

Moved reactions toggle at the top of the list

* Added disable reaction sounds notification

* Added reaction button zoom for burst intensity

* Fixed raise hand sound

* Fixed register sounds for reactions

* Changed boo emoji

* Updated sounds

* Fixed lint errors

* Fixed reaction sounds file names

* Fix raise hand sound

Play sound only on raise hand not on lower hand

* Fixed types for sound constants

* Fixed type for raise hand sound constant

* fix: Fixes reloads after enabling AV moderation.

* feat: Show footer context menu in p2p.

* feat: Always show AV moderation.

* feat: Allow AV moderation for p2p users.

* fix: Fixes AV moderation used in tenants.

* Added default state to persistance

* fix(iframe) don't register service worker when in an iframe

Fixes: jitsi#9712

* fix(notifications) Add timeout for video/audio lost notifs

* fix(authentication) fixed close on cancel click

* chore(deps) @matrix-org/olm@latest

Bugfixes since 3.2.1, see https://gitlab.matrix.org/matrix-org/olm/-/blob/master/CHANGELOG.rst
In 3.2.2 the package name changed to @matrix-org/olm, thus
updating in Makefile & imports

Signed-off-by: Christoph Settgast <csett86@web.de>

* feat: Updates i18n-iso-countries to latest. Fixes jitsi#9792.

* feat(lobby) Add sound for participant knocking

* feat(e2ee) add support for WebRTC Encoded Transform

An alternative to Insertable Streams, currently implemented in Safarii / WebKit.

https://w3c.github.io/webrtc-encoded-transform/

It's currently behind a config flag, both in Safari and here.

Fixes: jitsi#9585

* fix: Fixes showing awaiting AV moderation after grant moderator.

* Revert "fix: Fixes reloads after enabling AV moderation."

This reverts commit 38f9c97.

* fix: Fixes undefined errors in MeetingParticipant - Item and ContextMenu.

* fix(TileView): not showing all participants.

* chore(deps) lib-jitsi-meet@latest

* feat(e2ee) add support for WebRTC Encoded Transform
* fix(JitsiConference) skip AudioOutputProblemDetector on disableAudioLevels
* feat(xmpp) remove clientNode config option
* Workaround for Chrome ice connection failure detection (jitsi#1685)

jitsi/lib-jitsi-meet@c23abfa...61c977f

* fix(pre-meeting) Hide invite button for JaaS

* fix(lang) update Portuguese translation

* feat(errors) Expose errors through Iframe API (jitsi#9801)

* fix(rn) enable reactions by default

* fix(local-storage) use local storage on WebKit when not in an iframe

There should be no need to use the workaround when visiting the site normally.

* Update setup.web.js

* fix(chat) avoid emojifying URLs

Fixes: jitsi#9661

* fix(lang) update Japanese translations

* feat(VideoContainer) add option to avoid cropping focused video

* fix(lang) update Polish translations

* feat(branding) Add premeeting background image overwrite

* fix(virtual-background) upload bkg image on poor connection

* fix(android) avoid exception in onHostPause

YOLO.

* fix(rn,reactions) fix copying sounds to app bundles

* feat: Drops old prosody dependency (0.10...).

Many features work only with 0.11+ prosody versions and there are instructions in the handbook how to install it before installing jitsi-meet.

* chore(deps) lib-jitsi-meet@latest

* fix: Updates shard value in XmppConnection on new value from xmpp. (jitsi#1699)
* fix(docs): copy&paste error for setIsReplaced

jitsi/lib-jitsi-meet@61c977f...53c9c0c

* fix(KeyboardShortcut): pin the correct participants when number keys are used.

* fix(filmstrip): Move thumbnails reordering behind a config.js flag.
enableThumbnailReordering flag (enabled by default) will be used to check if the thumbnails needs to be reodred in the UI.

* fix(filmstrip): Always sort the participants alphabetically.
Reorder the sub-groups (shares, speakers and rest of the participants) always on dominant speaker changes and when participants join or leave.

* fix(prosody): av_moderation_component default val

* fix: Fixes default values in speakerstats and conf duration modules.

* Update main-sv.json

Add lobby translation and some linguistic improvments.

* fix(config) add enableReactions to whitelist

* feat(filmstrip-pagination): mobile support.

* fix(mobile-pagination): address PR review comments

* Apply suggestions from code review

Co-authored-by: Saúl Ibarra Corretgé <saghul@jitsi.org>

* fix(mobile-pagination): Disable bounce effect.

* fix(mobile-pagination):incorrect number of columns

* fix(filmstrip): sort alphabetically.

* chore(deps) lib-jitsi-meet@latest

* log: Log a task's stack trace when it throws. (jitsi#1701)
* deps: update sdp-interop. (jitsi#1700)
* fix(replace-track) Add not null check for newTrack (jitsi#1698)

jitsi/lib-jitsi-meet@53c9c0c...2820d64

* fix(config): add av-moderation notifications to config whitelist (jitsi#9774)

* fix(config): add av-moderation notifications to config whitelist

* fix(config): lint fixes

* fix(toolbar-buttons) Hide/show invite button based on toolbarButtons

* chore(rn,deps) react-native-webrtc@1.92.1

Fixes several Android crashes.

* fix(reactions) fix reactions bugs

* Fix: removed web actions from common middlewares

* Fixed raise hand sound

Fix sound to play on raise not lower and work on keyboard shortcut as well

* Fixed reaction keyboard shortcuts

Register shortcuts only when there's more than one participant

* Enforce reactions feature flag on reaction received

* Disable reactions by default on native

* Enable reactions on native by default

* Sort props alphabetically

* Created isreactionsEnabled function

* Remove unused imports

* Fix. No longer show toolbox on reactions and jibri

On message received don't show toolbox for jibri

* Fix isReactionsEnabled function for native

On native check for flag and config option as well

* chore(dropbox-web) Accommodate short-lived access token

* chore(deps) lib-jitsi-meet@latest

* fix(browser-support): Add audio track to pc always on mobile Safari. On mobile Safari, if a user joins audio and video muted, the browser doesn't decode the incoming audio. Workaround is to always add the audio track to pc and mute it if needed.
* feat: JSON encoded sources. (jitsi#1695)

jitsi/lib-jitsi-meet@2820d64...b0d27fa

* fix(tracks) Fix mobile safari issue with startMuted.
On mobile Safari, when a user joins both audio and video muted, browser doesn't playout the remote audio because of a webkit bug. As a workaround, always add the audio track to peerconnection and then mute the track if needed.

* feat: Prints an error log for errors in child components render methods.

* fix(toolbox) fix warning due to missing key prop

* fix(rn,humbnail) add key prop to array items

Fixes a React warning

* fix(video-layout) fix getMaxColumnCount on mobile

interfaceConfig does not exist.

* task(rn, android): update dropbox logic to retrieve refresh token

* fix(notifications) skip participant joined notifications before we join

* fix(lastn) debounce updating last N

When joining a large meeting every participant join would trigger an attempt of
an update. Try to minimize the amount of calls.

* fix(rn,logging) skip some logs on mobile

* fix(rn,external_api) skip participant notifications when not in a meeting

* fix(rn,filmstrip) avoid fast scroll trigggering visibility notifications

An item won't be considered visible until it has been visible for 500ms.

* fix(rn,filmstrip) simplify code

viewableItems always comes in order and indexes are always ascending. In
addition, if the array comes empty (I saw it happen on Android at least, when
scrolling like a maniac) we'd calculate the right value, instead of Infinity.

* fix(sounds) fix reaction sound names

- Remove unicode charcters from filenames
- Simplify code for copying them to the iOS SDK

* fix(rn,ParticipantPane) optimize

Use a FlatList to avoid loading all participants at once.

* feat(ios) update dropbox authentication to PKCE flow

* lang: Update portuguese translation (jitsi#9836)

* Update portuguese translation

Translate "dialog”, "virtualBackground”, "info” and "settings" sections

* fix "you" translation

* revert "you" translation to original

* lang: Added and edited translations for vi (jitsi#9850)

Co-authored-by: cfriedlander <chagai.friedlander@aarenet.com>

* lang: Update i18n Occitan (jitsi#9853)

Some update.
Been up to line 253 at the moment

* lang: Update main-sv.json (jitsi#9862)

* fix(notifications) throttle join notifications for 2 seconds

* fix(lang,notifications) make join notification text more generic

* feat(notifications) skip join notifications when meetings grow large

* fix(external-api): Avoid naming event 'error'

- EventEmmitter treats 'error' as a special case and throws error.

* chore(config): Whitelist `disableRecordAudioNotification` config

* fix(android): renames amplitudereactnative project to use react-native- pattern

* task(android): updates sdk version

* chore(config) fix spacing

Removed a redundant space under maxBitratesVideo.

* fix(toolbox): Show dominant speaker name only when in conference

* feat(rtcstats): send dominant speaker stats (jitsi#9883)

* send dominant speaker stats

* fix lint

* chore(deps) lib-jitsi-meet@latest

* fix(LocalSdpMunger): do not fake video sdp when screen sharing
* fix(JitsiConference) avoid extra processing if the room was left
* fix(moderator) remove unneeded log

jitsi/lib-jitsi-meet@b0d27fa...28a5355

* feat(config): Add config option for e2ee label

* fix(prejoin) Fix buttons positioning for 3rd party

* feat: Turn on enableLayerSuspension option by default. (jitsi#9894)

* fix(config) Add more info about enableLayerSuspension option.

* chore(deps) lib-jitsi-meet@latest

* Update config.js

Co-authored-by: Saúl Ibarra Corretgé <s@saghul.net>

Co-authored-by: Saúl Ibarra Corretgé <s@saghul.net>

* feat(rn) add polyfill for the performance API

Implements: https://developer.mozilla.org/en-US/docs/Web/API/Performance
Ref: https://github.com/oblador/react-native-performance

* feat(config) add connection indicators flags

* feat(responsive-ui): Keep aspect ratio for filmstrip self view on mobile web (jitsi#9848)

* feat(responsive-ui): Keep aspect ratio for filmstrip self view on mobile web

Right now filmstrip displays self view in landscape mode.
With these changes the aspect ratio of the self view will be maintained
so on portrait mode the thumbnail will be displayed vertically.
Of course this makes sense only on mobile web.

* Code review

* Fix height

* feat: Dynamically limit the number of participants in a room (jitsi#9880)

* Dynamically limit the number of participants in a room

* Remove log

* fix(config): Add separate entries for the e2ee labels

* feat(config) Add config for disabled sound id's

- unify naming for sound id values

* feat(doc) revamp README

* fix(rn,polyfills) fix Performance polyfill

We need to re-override now() to avoid a recursion error. Also I missed the
default export.

* feat: new prosody module to report census of all rooms (jitsi#9901)

* new prosody module to report census of all rooms

* changed to use util to check if it's a test room

* improved docs

* more doc improvements

* updated to use muc_domain_prefix

* facepalm

* fix(notifications): Added  user join notification keys

* lang: Complete translation to Portuguese (jitsi#9871)

* Complete translation to Portuguese

* "reactions" and "connectedThreePlusMembers" fix

* additional bcp47 languages

* chore(deps) lib-jitsi-meet@latest

* fix(RTCUtils) Return false for device change checks on mobile Safari.

jitsi/lib-jitsi-meet@735943b...ad1f06d

* fix(settings) Disable mic/camera selection on mobile safari.
Creating a preview of the same audio/video track kills the tracks that is already being shared in the conference. Therefore, disable camera/mic selection in the settings dialog while the user is in the call. The devices are selectable from the prejoin screen settings dialog.

* feat: Add configuration to disable removing raised hand on dominant speaker (jitsi#9641)

* Add configuration to disable removing raised hand on dominant speaker change

* Fix lint problem

* Avoid dispatching unnecessary action

* Fix lint problem

* feat: Add configuration to disable chat emoticons jitsi#9889 (jitsi#9899)

* feat: Additional setting to order participants in speaker stats (jitsi#9751)

* Additional setting to order participants in speaker stats jitsi#9742

* Setting to order speaker stats optimisations jitsi#9742

* Lint fixes jitsi#9742

* Replace APP references jitsi#9742

* Lint fixes jitsi#9742

* Setting to order speaker stats optimisations 2 jitsi#9742

* Lint fixes jitsi#9742

* Remove unnecessary param jitsi#9742

* Add more speaker-stats reducer _updateStats docs  jitsi#9742

* feat(external_api): Command to set participant volume

* fix(prejoin): Change avatar color to match in-meeting one

* fix(rn,shared-video,invite-dialog) fix placehoolder text color to be visible

* feat(av-moderation) Updated Advanced moderation (jitsi#9875)

Co-authored-by: Vlad Piersec <vlad.piersec@8x8.com>

* fix(context-menu) Hide toolbars when participant context menu opened (jitsi#9842)

- hide toolbars only when in tile view
- fix community issue: jitsi#9818

* Thumbnail reordering and participant pane enhancements.

* fix(participant-pane) Use the sorted participant list from redux instead of sorting it on every render making it better performant. Match the participant order with that of the order in the filmstrip. Also move the participants with raised hand to the top of the list.

* ref(filmstrip) Move enableThumbnailReordering flag to testing section.

* fix(participants) Add new selectors for getting sorted participants.

* fix: Add different text when disablePolls is enabled/disabled (jitsi#9900)

* Add different text when disablePolls is enabled/disabled jitsi#9890

* Add different text when disablePolls is enabled/disabled v2 jitsi#9890

* lang: update German translation (jitsi#9921)

Signed-off-by: Christoph Settgast <csett86@web.de>

* chore(deps) lib-jitsi-meet@latest

* ref(JitsiConference): don't crash on wrong oldTrack (jitsi#1709)

jitsi/lib-jitsi-meet@ad1f06d...64cdf69

* Use redux for local tracks instead of conference.js (jitsi#9920)

* do not use this.local video

* move tracks initialized flag around

* do not use this.localAudio

* untangle use audio/video stream methods

It should be safe to call setVideoMuteStatus and
setAudioMuteStatus regardless of the prejoin page
visibility state.

* add NO-OP to use track methods and fix crash
in _setLocalAudioVideoStreams on not a promise

* use allSettled

* feat: Whitelists enableUnifiedOnChrome.

Whitelists it, so we can run tests by setting it to false.

* chore(deps) lib-jitsi-meet@latest

* fix(replaceTrack):  Don't wrap Error in Error.

jitsi/lib-jitsi-meet@64cdf69...fbf85bd

* feat(toolbar-buttons): Add event for notify overwritten toolbar buttons

* fix(context-menus) Fix participant context menus/toolbar overflow menu

- on ipads, long touch open dialog now opens the context menu to the left of the thumbnail as expected
- on ipads, now we close context menus on tap out
- fix case when participant context menu's height > tileview videos' height causing scroll on videos pane
- keep toolbox open while the overflow menu is shown
- keep remote participant video thumbnail in filmstrip visible even if toolbox is hidden, if context menu is opened
- Fix bug where toolbox could be completely disabled

* Show reactions buttons at all times

Don't send reactions via the channel if there's only one participant in the meeting

* feat(android) expose channels ids

* fix(rn) disable pip while authorising dropbox

* fix(shared-video) make placeholder translatable

Also fix capitalization.

* fix(rn,shared-video) validate URLs to avoid crashes on the native side

* fix(rn,conference) count fake participants when checking if lonely meeting

A shared video participant counts, so the lonely meeting invite options can
disappear.

* feat(rn,conference) show invite button on the top navbar

* fix(conference.js): add tracks to the conference

* fix(av-moderation) Advanced moderation improvements (jitsi#9935)

* Update moderation in effect notifications

Only display one notification for each media type. Display notification for keyboard shortcuts as well

* Update muted remotely notification

Display name of moderator in the notification

* Fix indentation on moderation menu

* Update text for video moderation

* Added moderator label in participant pane

* Update microphone icon in participant list

For participants that speak, or are noisy, but aren't dominant speaker, the icon in the participant list will look the same as the dominant speaker icon but will not change their position in the list

* Added sound for asked to unmute notification

* Code review changes

* Code review changes

Use simple var instead of function for audio media state

* Move constants to constants file

* Moved constants from notifications to av-moderation

* fix(rn,conference) show underlay when tapping navbar buttons

* fix(feedback): Scroll to the top when opening feedback dialog

* feat(rn,connection) enable XMPP WebSocket on mobile

Co-authored-by: Saúl Ibarra Corretgé <saghul@jitsi.org>

* feat((rn,config) add a/b test flag to enable XMPP WebSockets on mobile

* fix(filmstrip) Fix filmstrip on RN when thumbnail reordering is disabled.

* fix(context-menus) Don't show volume slider on iOS web

* fix(device-selection) Do not create preview when mic selection is disabled.
This fixes an issue on mobile Safari when audio is lost after the user opens the device selection menu.

* fix(Filmstrip) fix not being able to scroll

* fix(prejoin) implement ux improvements for mobile (jitsi#9939)

* android: fix initializing soloader from Activity context

It has to be an application context.

* fix: Fixes undefined error causing to stop reloads.

Jibri was hitting a problem where it reloads and in certain cases (remote user is screensharing) we hit this participant undefined, which stops reload and stops recording.
It is still not obvious why we try to render this on leaving the conference and for a participant that is not in the conference ... this re-render should not happen as this component should be removed from its parent when the participant is not existing.

* chore(deps) lib-jitsi-meet@latest

* fix: Reads shard name and from disco-info if available.
* chore(deps): bump sdp-interop to get another fix for ICE restart
* update sdp-interop to include Unified ICE restart fix

jitsi/lib-jitsi-meet@fbf85bd...609e3d5

* fix(recorder): tile view

In the case of the recorder we were not taking into account that the
local thumbnail is not visible. This was braking the rendering  and
positioning of the thumbnails in tile view.

* fix(lang) update Russian translation

Co-authored-by: Alexey Matveev <malex@1forma.ru>

* fix(jaas) do not show overriden unsupported browser page for jaas users (jitsi#9962)

* fix(notifications) Fix recording start notif not disappearing

* feat(conference-info-header) Make conference info header configurable. (jitsi#9638)

* chore(deps) lib-jitsi-meet@latest

* fix(JitsiConference) Check for room before calling isFocus method on the room object.
* fix(Jingle) Reverse the order of ssrcs signaled for Firefox. This fixes an issue where the bridge doesn't forward the HD stream from Firefox to other users in the call. The order of the ssrcs produced by the browser is from Highest resolution to lowest whereas the bridge assumes it to be from lowest to highest as is the case in Chrome and Safari.
* fix(codec-selection): Impose VP9 bitrates only when VP9 is the negotiated codec. If Jicofo doesn't offer VP9 but the client expresses a preference for VP9, VP9 bitrates were being imposed before.

jitsi/lib-jitsi-meet@609e3d5...3b8baa9

* feat(e2ee) disable e2ee when large number of participants

* fix(responsive-ui): Shrink self view when in portrait mode on mobile web

* fix(config,notifications) fix rendering moderator notifications (jitsi#9986)

Move DISABLE_FOCUS_INDICATOR from interface_config.js to config.js (disableModeratorIndicator).

* fix(reactions) Reactions improvements (jitsi#9964)

* Register shortcuts on mount

* Changed icon for reactions menu

* Enable reactions by default

* Fix unreadCount bug

When having unread messages and sending a reaction the unread count now shows the correct count

* Fix overflow menu bottom color when reactions are enabled

* Revert raise hand icon

* Update raise hand functionality

On desktop show raise button with arrow for reactions. Only show raise hand in the reactions menu on mobile

* Fix lint error

Add required prop to ToolboxButtonWithIcon

* Legacy support for enable reactions

If disableReactions is undefined treat it as true

* Remove unnecessary code

* Fix unread counter showing negative count

* Fix unreadCount with reactions

UnreadCount ignores all reactions messages

* Fixed typo

* Fix background color

* feat(api): Expose event used for sending browser support

* fix(av-moderation) Display Allow Video instead of Ask to Unmute (jitsi#9991)

When the user is allowed audio but not video display Allow Video button instead of Ask to Unmute

* feat(rn,av-moderation) updated advanced moderation on Native

Updated participants list to:
- show Moderator label
- show correct status icons (red for force muted)
- show participants in the right order

Updated moderation to:
- show moderation menu at all times
- make moderation options functional

Updated notifications:
- fixed raise hand to show name
- display moderator rights granted

Updated mute/ stop video for all dialogs to include moderation toggles

Added ask to unmute button

Fix comments on ask to unmute

Co-authored-by: robertpin <robert.pin9@gmail.com>

* chore(rn,versions) bump sdk version

* fix(av-moderation) - Mute/ stop video except no longer change moderation status

Mute everyone else no longer disables moderation

* Fix stop everyone's video

Stop everyone's video now also stops screensharing for the moderator that did the action, not just video

* fix(participants-pane) bring back lobby reject button

It got accidentally removed in:
jitsi@1dc8bfa#diff-ef66b8ab7c899b16d6c1102b3c812aa45509f95e11267cbfdbd0674143e94575

* fix(lobby) don't mix web and native actions on the same file

USe actions.any for common actions.

* fix(toolbox) don't mix web and native actions on the same file

* fix(ios) fix black screen when using Bluetooth in iOS 15

Fixes: jitsi#9996

On iOS 15 Bluetooth devices are reported twice for some reason, one with the
normal type "Bluetooth" but another type without a know (to me) type, and the
uid ends in "-reference".

While we send those unkwno devices to JS, we were not filtering them properly.
This patch skips them altogether.

* fix(rn) add default value when retrieving e2ee redux state

* fix(lang) update occitan translation

* fix(ios) create audio track early

In iOS 15 we observe that not creating the audio track early may result in not
getting audio after unmuting for the first time.

Creating the audio track early means the first unmute doesn't need to add the
track to the conference, resulting in a much faster operation.

Note that creating the track early doesn't mean we will start unmuted, the track
will be muted.

* fix(chat): Hide scroll bar on chat input

Based on this suggestion jitsi#9958

* fix(subject): Keep subject centered when chat panel is open

* fix(av-moderation) Only stop screensharing on Stop everyone's video

* fix(toolbar) Fix toolbar always visible; refactors

- deprecate `INITIAL_TOOLBAR_TIMEOUT`, `TOOLBAR_ALWAYS_VISIBLE`, `TOOLBAR_TIMEOUT`

* chore(interface-config) Group deprecated configs

* fix: Speaker stats search fix jitsi#9751 (jitsi#10019)

* Optimization of speaker stats display names jitsi#9751

* Fix speaker stats search for empty string jitsi#9751

* fix(lang) update french translation

* fix(av-moderation) Stop screensharing and video on moderation start

When video moderation starts, stop screensharing and ignore if video was on when sharing started

* feat(dynamic-branding): Add branding option for virtual backgrounds

* fix: Fixes errors in prosody about string formatting and nil values. (jitsi#10037)

* fix: Fixes errors in prosody about string formatting and nil values.

error   Traceback[c2s]: /usr/lib/prosody/util/format.lua:59: invalid option '%b' to 'format'
stack traceback:

mod_polls.lua:25: attempt to index local 'data' (a nil value)
stack traceback:

* squash: Fix more formatting concatenation.

* lang: Update main-ar.json (jitsi#10034)

Adding missing keys and translate them

* lang: minor fix in russian localization (jitsi#10027)

* - minor fix in russian localization

* - minor localization fix

Co-authored-by: Alexey Matveev <malex@1forma.ru>

* fix(av-moderation) Improve advanced moderation (jitsi#10004)

* fix(av-moderation) Improve advanced moderation

Hide moderator label on disasbleModeratorIndicator
 - On disasbleModeratorIndicator config hide moderator label from participants pane

Add Ask to Unmute button to mobile web

* Fix lint error

* fix(android) removes unnecessary parcel processing

* fix(lang) update Occitan translation

* fix(config) fix prejoin throwing a TypeError due to late config initialization (jitsi#10041)

* fix(android) disables uncompressed native libs usage

* fix(invite) fix video rooms not being displayed in invite search

* feat(av-moderation) Ask to Unmute and remove from Whitelist (jitsi#10043)

* feat(av-moderation) Ask to Unmute and remove from Whitelist

Make Ask to Unmute work without moderation
Add remove from moderation whitelist functionality

* chore(deps) lib-jitsi-meet@latest

* feat(av-moderation) Remove from moderation whitelist functionality (jitsi#1729)
* fix(chore) corrected typo in log message
* fix(e2ee) replace nullish coalescing with or
* fix(e2ee) restore initial key when RATCHET_WINDOW_SIZE reached

jitsi/lib-jitsi-meet@3b8baa9...0646bc3

Co-authored-by: Дамян Минков <damencho@jitsi.org>

* fix: Fix speaker stats search dependency and remove duplicate logic jitsi#9751 (jitsi#10045)

* Fix speaker stats search dependency and remove duplicate logic jitsi#9751

* Fix speaker stats component render on update jitsi#9751

* feat(rtcstats): remove SDP transmission jitsi#10054

* feat(lang) add helper script for manual translations

It updates the main language file for a given locale from the canonical one and
sets the empty string on the missing keys. No longer used keys are discarded.

* fix(lang) sample run of the translations updating script

* feat(ios) drop support for iOS 11

* chore(deps) lib-jitsi-meet@latest

* fix(Jingle) Log the extracted info from Jingle IQ.
* ref(Jingle) Alpha sort and prefix the local functions with '_'
* ref(Jingle) Log formatted source information. Instead of logging the full IQs for Jingle messages like session-initiate, source-add and source-remove which can be very long, log just the formatted source information.
* ref(RTC) rename iceConfig to pcConfig. It makes more sense to call it pcConfig since it is the RTCConfiguration object passed to the WebRTC peerconnection.
* fix(logging) Log only the imp events on remote tracks. Log only the important events that we care about on the HTMLMediaElement that the remote tracks are attached to.

jitsi/lib-jitsi-meet@0646bc3...ae70962

* fix(logging) Remove logs that are very chatty.
The receiver video constraints that are actually sent to the bridge are logged in LJM and need not be logged in the application.

* fix(chore): Don't show react "unique key" warning

* fix(ios) fix crash on WebSocket errors

Bacckport
facebook/react-native@748aa13

Fixes:

~~~
Fatal Exception: NSInvalidArgumentException
0  CoreFoundation                 0x129708 __exceptionPreprocess
1  libobjc.A.dylib                0x287a8 objc_exception_throw
2  CoreFoundation                 0x19b9c8 -[__NSCFString characterAtIndex:].cold.1
3  CoreFoundation                 0x1a7a20 -[__NSPlaceholderDictionary initWithCapacity:].cold.1
4  CoreFoundation                 0x164c0 -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]
5  CoreFoundation                 0x8de0 +[NSDictionary dictionaryWithObjects:forKeys:count:]
6  JitsiMeetSDK                   0x5704b4 -[RCTWebSocketModule webSocket:didFailWithError:] + 168 (RCTWebSocketModule.m:168)
7  JitsiMeetSDK                   0x54a5ec __33-[RCTSRWebSocket _failWithError:]_block_invoke_2 + 622 (RCTSRWebSocket.m:622)
8  libdispatch.dylib              0x2a84 _dispatch_call_block_and_release
9  libdispatch.dylib              0x481c _dispatch_client_callout
10 libdispatch.dylib              0xc004 _dispatch_lane_serial_drain
11 libdispatch.dylib              0xcc00 _dispatch_lane_invoke
12 libdispatch.dylib              0x174bc _dispatch_workloop_worker_thread
13 libsystem_pthread.dylib        0x37a4 _pthread_wqthread
14 libsystem_pthread.dylib        0xa74c start_wqthread
~~~

* feat(external-api) add data-channel-open event

Signals that the bridge channel is open. It may take a few ms to get established
after the conference join, so applications might be interested in using it once
ready.

* feat(android) target sdk 31

* fix(Prejoin): Join click before conference.init()

* fix(prejoin): Prevent double joining conference.

* chore(deps) lib-jitsi-meet@latest

* fix(browser-support) fix detecting iOS browsers correctly
* fix(JitsiConference):2 instances for the same room
* ref: sendMuteStatus is not async

jitsi/lib-jitsi-meet@ae70962...c15dda1

* feat: Simplify AV moderation participant approve/remove message and fix array usage. (jitsi#10062)

* feat: Simplify av moderation participant approve/remove message.

There is no point of having messages like:
{
  "room": "myroom@conference.mydomain.com",
  "type": "av_moderation",
  "mediaType": "audio",
  "removed": true,
  "approved": true
}

* fix: Fixes array in json.

fix: Fixes array in json.

* fix: Fixes jitsi#9869 Lobby and wrong password case.

* chore(deps) lib-jitsi-meet@latest

* fix(xmpp): disable RTX for Firefox < 93, because it results in random SSRC order
* fix(Jingle): stop reverting the SSRCs from Firefox

jitsi/lib-jitsi-meet@c15dda1...7a56f7b

* feat(android) extract notification channel name

* chore(deps) lib-jitsi-meet@latest

* fix(JitsiConference) make sure isE2EEEnabled() returns a boolean
* fix(loggging) fix exceptions on mobile

jitsi/lib-jitsi-meet@7a56f7b...afc1c34

* fix(rn,conference) fix unmute when "everyone starts muted" is set

Since iOS 15 we really need the audio stream to exist, so make sure we don't
destroy it even when "everyone starts muted" is set, we'll just mute it.

Fixes: jitsi#10053

* chore(deps): update react-native-webrtc@1.92.2

Fixes a crash on Android

* fix: Fixes displaying country names which has multiple names listed.

Some countries have multiple names listed in i18n-iso-countries, like US -> ['United States of America', 'USA'].

* fix(av-moderation) Check for moderation support

Show av moderation toggles on mute all / stop everyone's video dialogs only if moderation is supported
Show Ask to Unmute only for moderators

* fix: Skips setting language for transcriptions if not enabled.

* chore(deps) lib-jitsi-meet@latest

* fix: Avoids sending empty nick in presence.

jitsi/lib-jitsi-meet@afc1c34...b5288c2

* fix(config, reactions) Added config option to disable reaction sounds (jitsi#10046)

* fix(reactions) Remove vpaas check for reactions webhook (jitsi#10089)

Reactions will be sent if webhookProxyUrl is set in config.js

* fix(av-moderation) Show Mute button when participant is unmuted (jitsi#10090)

Show Mute button instead of always showing Ask to Unmute

Added aria-label

* fix(av-moderation) Fix Ask to Unmute

Make ask to unmute work even if the participant is already whitelisted for audio

* call module that checks the jwt against the access service

* lang: Update main-it.json (jitsi#10088)

* Update main-it.json

* Update main-it.json

added a missing comma...

* Update main-it.json

added all the missing commas...

* Update main-it.json

will this be the last comma I left behind? Who knows...

* lang: added and translated all missing keys on turkish translation (jitsi#10050)

* feat(screenshot-capture) Updated screensharing screenshot capture

Changed screen capture to non effect. Effects are used to alter the stream, this feature does not need to alter the stream, it just needs access to it

Changed image diff library. Previous library diff’ed the whole image, the new one has en early return threshold

Use ImageCaptureAPI to take the screenshot. Added polyfill for it and polyfill for createImageBitmap

Added analytics

* fix(av-moderation) Update function that calculates quick action button

* feat(config): Add config option for making display name read only

* fix(tracks) Always add audio track on Safari.
This fixes an issue where Safari users cannot hear remote audio if they join audio/video muted. The browser throws the following error when the application tries to execute play on the audio element: 'NotAllowedError: The request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission.' This started happening in Safari 15.

* updated to latest stable release 6433

* fixed lint room-background/subscriber

* fixed lint speaker-stats

Co-authored-by: AJ-عجائب البرمجة <40805353+IsmailHazem@users.noreply.github.com>
Co-authored-by: Дамян Минков <damencho@jitsi.org>
Co-authored-by: Avram Tudor <tudor.potecaru@gmail.com>
Co-authored-by: Saúl Ibarra Corretgé <saghul@jitsi.org>
Co-authored-by: Calin Chitu <calinte2002@yahoo.co.uk>
Co-authored-by: Scott Boone <scott.boone@8x8.com>
Co-authored-by: Jaya Allamsetty <54324652+jallamsetty1@users.noreply.github.com>
Co-authored-by: José Luís Andrade <32515675+jluisfa@users.noreply.github.com>
Co-authored-by: hmuresan <horatiu.muresan@8x8.com>
Co-authored-by: robertpin <robert.pin9@gmail.com>
Co-authored-by: Christoph Settgast <csett86@web.de>
Co-authored-by: Hristo Terezov <hristo@jitsi.org>
Co-authored-by: Horatiu Muresan <39557534+horymury@users.noreply.github.com>
Co-authored-by: Saúl Ibarra Corretgé <s@saghul.net>
Co-authored-by: alittriutari <alittriutari@gmail.com>
Co-authored-by: adam j hartz <adam@smatz.net>
Co-authored-by: Michał Orman <michal.orman@gmail.com>
Co-authored-by: Tudor D. Pop <tudor.dan.pop7@gmail.com>
Co-authored-by: Jaya Allamsetty <jaya.allamsetty@8x8.com>
Co-authored-by: Werner Fleischer <70745309+wernf@users.noreply.github.com>
Co-authored-by: phict <phict4@hotmail.com>
Co-authored-by: Nathan Beck <nathan.beck@indyimaging.com>
Co-authored-by: tmoldovan8x8 <62697631+tmoldovan8x8@users.noreply.github.com>
Co-authored-by: Alex Bumbu <alex.bumbu@8x8.com>
Co-authored-by: chagai95 <31655082+chagai95@users.noreply.github.com>
Co-authored-by: cfriedlander <chagai.friedlander@aarenet.com>
Co-authored-by: Mejans <61360811+Mejans@users.noreply.github.com>
Co-authored-by: Cross <github@dillfrescott.com>
Co-authored-by: Vlad Piersec <vlad.piersec@8x8.com>
Co-authored-by: Andrei Gavrilescu <51706180+andrei-gavrilescu@users.noreply.github.com>
Co-authored-by: vp8x8 <37841821+vp8x8@users.noreply.github.com>
Co-authored-by: abora8x8 <56257143+abora8x8@users.noreply.github.com>
Co-authored-by: scott boone <sawall@users.noreply.github.com>
Co-authored-by: ashiqhassan95 <ashiqhassan95@gmail.com>
Co-authored-by: Andrei Gavrilescu <gavrilescu.andrei90@gmail.com>
Co-authored-by: dimitardelchev93 <43634401+dimitardelchev93@users.noreply.github.com>
Co-authored-by: Izak Glasencnik <izak.glasencnik@gmail.com>
Co-authored-by: Paweł Domas <pawel.domas@jitsi.org>
Co-authored-by: Pawel Domas <2965063+paweldomas@users.noreply.github.com>
Co-authored-by: Alexey Matveev <develop.iapps@gmail.com>
Co-authored-by: Alexey Matveev <malex@1forma.ru>
Co-authored-by: titus.moldovan <titus.moldovan@8x8.com>
Co-authored-by: Damien Fetis <damien.fetis@renater.fr>
Co-authored-by: Ali Alhaidary <75235623+ali-alhaidary@users.noreply.github.com>
Co-authored-by: Tudor-Ovidiu Avram <tudor.potecaru@8x8.com>
Co-authored-by: alexbratu92 <alexbratu92@gmail.com>
Co-authored-by: chipechop <chipechop@users.noreply.github.com>
Co-authored-by: Suleyman BİLGİN <hi@suleyman.dev>
sandeepjangir pushed a commit to shahidtumbi/jitsi-meet that referenced this issue Jan 6, 2022
React Native links timers to the display, so they cannot run when the display is
not running. Builtin timers already take being in the background into account,
but not the proximity sensor.

Credits: react-native-webrtc/react-native-callkeep#143

Fixes: jitsi#9619
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 a pull request may close this issue.

5 participants