Bug 259337

Summary: REGRESSION (iOS 17 Beta): Incoming and outgoing VIDEO is lost when iOS User puts browser in the background and relaunches it/locks device screen and unlocks it
Product: WebKit Reporter: Madara Freimane <madara.freimane>
Component: WebRTCAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Critical CC: webkit-bug-importer, youennf
Priority: P2 Keywords: InRadar
Version: Safari 17   
Hardware: iPhone / iPad   
OS: Other   

Description Madara Freimane 2023-07-19 08:25:28 PDT
Summary:
Incoming and outgoing VIDEO is lost when iOS User puts the browser in the background and relaunches it OR locks the device screen and unlocks it while in WebRTC call

Tested devices:
The bug is reproducible on:
- iPhone 11 Pro Max (iOS 17 Public Beta, build: 21A5277j) and Safari
- iPhone 11 Pro Max (iOS 17 Public Beta, build: 21A5277j) and Google Chrome (V115.0.5790.130)
- iPhone 12 Pro (iOS 17 Public Beta) and Safari 17.0
- iPhone 14 Pro Max (iOS 17 Developer Beta 3, build: 21A5277j) and Safari 17.0

The bug is not reproducible on:
- iPhone 13 (iOS 16.5.1) and Safari
- iPhone 14 (iOS 16.5.1) and Safari

Scenario:
Precondition:
Safari or Google Chrome browser opened on iOS 17 device
The User is in an active WebRTC call with incoming/outgoing video ON

Steps:
Use case1
1. iOS User puts the browser in the background  for ~20sec
2. iOS User puts browser to foreground 

Use case2
1. iOS User locks device screen for ~20sec
2. iOS User unlocks the device screen

Actual result:
Incoming and outgoing VIDEO is lost when iOS User puts the browser in the background and relaunches it/locks the device screen and unlocks it

Expected result:
Incoming and outgoing VIDEO is available when iOS User puts the browser in the background and relaunches it/locks the device screen and unlocks it

Reproducibility:
100%


Additional information:
-With some services, I see that only incoming video is impacted after backgrounding the browser, but with some services both - incoming and outgoing video.
-Sysdiagnostics file added:
https://drive.google.com/file/d/1QeIi5mslxqAeU5T2nXcuVJzCeYxmBMe3/view?usp=sharing
(bug reproduced at 17:42, EET, 19.07.2023.)
Comment 1 Radar WebKit Bug Importer 2023-07-19 13:08:30 PDT
<rdar://problem/112549958>
Comment 2 youenn fablet 2023-07-21 01:23:56 PDT
Thanks for the report, I believe this is the same as https://bugs.webkit.org/show_bug.cgi?id=258401

*** This bug has been marked as a duplicate of bug 258401 ***
Comment 3 Madara Freimane 2023-08-18 08:26:37 PDT
Hi, Youenn!

Unfortunately, this bug is still reproducible.
Tested devices and browsers:
- iPhone 11 Pro (iOS 17 Developer Beta 6, build: 21A5312c) and Safari
- iPhone 14 Pro (iOS 17 Public Beta 4, build: 21A5312c) and Safari
- iPhone 13 (iOS 17 Public Beta 4, build: 21A5312c) and Safari


Additional information:
Added a new sysdiagnostics file (bug reproduced at 18:16, EET, 18.08.2023.):
https://drive.google.com/file/d/1uYlmin42PtjF2hSV_7JTsuTv5_L1nIXQ/view?usp=sharing 

Observed the following behaviors:
If we lock, unlock the screen/put browser in the background, relaunch it, and wait:
-Incoming video recovers after ~1 mins.
-Outgoing does not recover, User has to re-enable camera after ~ 1 min.

If we lock, unlock the screen/put browser in the background, relaunch it, and try to re-enable camera immediately:
-User loses the incoming and outgoing video and it is not possible to get video back, iOS User has to kill the Safari browser and relaunch it.

If we lock, unlock the screen/put browser in the background, relaunch it, and try to rejoin a call immediately while videos are not working:
-No videos at all until Users on both sides re-enables their cameras.
Comment 4 youenn fablet 2023-09-05 09:34:39 PDT
Reopening based on discussion with MS Teams.
Comment 5 youenn fablet 2023-09-05 09:59:55 PDT
I tried reproducing with the FaceTime web app and I was not able to reproduce.
On FaceTime Web, we are hitting https://bugs.webkit.org/show_bug.cgi?id=260655 (for outgoing video) but this bug is now fixed in trunk.
Comment 6 Madara Freimane 2023-09-14 09:57:13 PDT
Hi, Youenn!

What do I see with FaceTime link opened in Safari browser:
1. User enables Siri (outgoing video does not recover after the Siri)
2. User puts browser in the background while outgoing video is still paused and not recovered
3. User relaunches Safari browser and observes videos
=> The camera is turned off automatically, and iOS User have to re-enable it to be able send a video.

Sysdiagnostics file:
https://drive.google.com/file/d/1g17VIdmppyBad6a3BBmQrdObxkE4HfiM/view?usp=sharing
Comment 7 Madara Freimane 2024-03-08 09:49:02 PST
This issue has been deemed no longer relevant, as it has been fixed in previous iOS versions (iOS 17.1). Therefore, I am closing this ticket. 
Thank you!