Description
Hey all, we’re seeing occasional issues with our users on iOS where the user gets stuck in a permanent looping/reconnecting state. This is reproducible in the test/sample app.
Browser Console Error
The full error message or issue you are running into.
Which Web Video SDK version?
2.2.5
Video SDK Code Snippets
Nothing specific needs to be done, just use the sample app.
To Reproduce(If applicable)
Steps to reproduce the behavior:
Run the sample app on iPhone 16, using Safari, iOS 18; not all devices show the problem, we haven’t narrowed it down that far yet, BUT the exact problem does reproduce when using BrowserStack’s “iPhone 16, Safari 18.5” browser. In case you’re tempted to think it’s a browserstack problem, it works fine on the same phone running Chrome (which is technically webkit, I know).
Screenshots
Troubleshooting Routes
Completely reproducible on browserstack using the sample app + Safari. Using Chrome on the exact same device does not exhibit the same problems, so it seems like something is being detected incorrectly in the Safari version.
Note that we have this problem on non-browserstack devices also, it’s just 100% replicable there.
Device (please complete the following information):
Device: iPhone
OS: 18.5
Browser: Safari
Browser Version 18.5
Additional context
It seems to get stuck in failover/out of failover looping. So something is triggering a failover when it shouldn’t, at least as far as I can tell. If you can determine the difference in the flow on Chrome for iOS vs Safari for iOS, that should get to the root problem.
I understand, however this does occur (occasionally) on other iOS devices as well - exact same symptoms. And Chrome (on iOS) does NOT have the symptoms.
The user that initially reported this to me explicitly stated that they were using an iphone + safari, and after switching to Chrome, the problem went away.
No disagreement here, which is why it was super weird that in browserstack, Chrome works when Safari doesnt, on the same device. That screams to me that there’s something else going on.
And again, this replicates for ACTUAL devices too, this is the exact experience my customer had - Safari (on a regular iphone) failed, switched to Chrome, and it worked.
This behavior is quite similar to what we observed on BrowserStack. From the logs, the constant failover was caused by an unexpected socket disconnection with the server.
We will optimize for this in the next version. It will be available in late August.