-
Notifications
You must be signed in to change notification settings - Fork 6.6k
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
Websocket not stable on ios mobile app #14853
Comments
What SDK platform are you using? |
React Native SDK |
Any suggestion? Does RN SDK support websocket for ios? FYI, websocket works fine on Android with RN sdk. Looking forward to your reply eagly! Thx a lot! |
WS should just work, on all platforms. Can you test the latest SDK version? That is, 2.2.1 right now. |
We have already tested the 2.2.1 SDK. The problem still exists with the latest SDK version. |
We just test the latest ios SDK, the problem also exists. The full log is listed below: {\rtf1\ansi\ansicpg936\cocoartf2759 \f0\fs24 \cf2 \cb3 rn-webrtc:pc:DEBUG 0 getStats +10s |
You seem to have a networking problem, not a WS problem. |
But it just happens with websocket enabled in ios RN sdk. With bosh mode in ios RN sdk, such problem never happens. |
In addition, below is the RN SDK log, as you can see, ICE failed after Websocket closed unexpectedly. {\rtf1\ansi\ansicpg936\cocoartf2759 \f0\fs24 \cf0 \cb2 \expnd0\expndtw0\kerning0 |
Not sure why, but all other requests also fail for you, see this one which detects if you are online or not. Are you using the netowork conditioner in any way? |
No. |
Your logs above show many unrelated requests also failing (gravatar, etc). Not sure how to explain that. |
I did some further tests which turns out the problem should be related to some server side setting instead of ios app itself. I changed the backend to your official site 'https://meet.jit.si' and the problem just disappeared. Are there any server side configs related to websocket connection which may cause such problem? |
You never said you were using your own server 😅 How did you install it? What versions of all components are you running? |
We install it by docker. The image version for all components is -stable-8615. |
That release is a bit over a year old now: https://github.com/jitsi/docker-jitsi-meet/releases/tag/stable-8615 That is too old for us to go try and debug this, specially since you checked it's working on a newer version. Please update to the latest image version. |
Further investigaton reveals that the problem is related to prosody smack settings. Currently relevant settings are listed below. I increase some of them and the connection can hold on for significantly longer time. What's the best setting for these params? Or how do you set them on the official site meet.jit.si? smacks_max_unacked_stanzas = 5; |
Those are the settings we use yeah: https://github.com/jitsi/docker-jitsi-meet/blob/e22b4f343b22b0aaf1c2b4e6e98c690ef87fcae6/prosody/rootfs/defaults/conf.d/jitsi-meet.cfg.lua#L125 |
So strange. To make client connected from ios app lasts for longer time, we have to increase smacks_hibernation_time. That is , if we set smacks_hibernation_time to 3600, the ios client can keep the connection for a bit longer than 3600s, afterwards, it will disconnect automatically. For other normal endpoints connected from Android app, we found below debug log periodically, but for endpoints from ios app, we cann't find similar log. Any tips on that? 2024-06-24 08:40:51 c2s5648f18f1370 info Client connected |
What RN version are you using? |
0.72.3 |
Sorry for the back and forth, I forgot something important! On that version of RN you need to patch RN so timers work in the background. Apply this: https://github.com/jitsi/jitsi-meet/blob/master/patches/react-native%2B0.72.14.patch you can use I submitted it upstream and it's merged in RN, but not in that version. On native SDKs we can apply the patch ourselves, but on the RN SDK it's not possible to do so. @Calinteodor please document this when you get a chance. |
What happened?
When websocket is enabled on iOS mobile app, meeting connection would be disconnected after around 10 minutes. The key error log is listed below:
Ping error threshold exceeded - killing the WebSocket
Is there any way to avoid this error? Or can we just disalbe ping function?
Platform
Browser / app / sdk version
1.0.2
Relevant log output
No response
Reproducibility
More details?
No response
The text was updated successfully, but these errors were encountered: