Browser version 150 breaks WebXR Immersive PWA
Hi,
The current browser: 150.0.0.39.30.1038228660 breaks an immersive PWA packaged with Meta's Bubblewrap fork.
The immersive app mode (as documented on the Progressive Web Apps Meta documentation page) directly exists.
In the previous browser (146.2.0.54.53.993879813) it works. I could temporary revert it, however Meta automatically overwrites it with the new browser on a daily basis.
I filled a bug report, but I spend a day figuring this out, so I thought it's also handy for the community to know. If someone knows how to prevent those browser updates I am happy to hear.
The only workable solution right now seems to start from a 2D app and let people press "enter vr" themselves (which is something I like to prevent for my app).
Any thoughts how to block updates (this is for a Kiosk like app) are welcome.
Deployment: TWA (Trusted Web Activity) with horizonOSAppMode: "immersive" in manifest.
When launching a WebXR session inside an immersive TWA on Oculus Browser v150, the browser forcefully tears down the session ~5 ms after xrBeginSession. Rolling back system updates to factory Browser v146 (adb shell pm uninstall-system-updates com.oculus.browser) completely fixes the issue and holds the WebXR session open indefinitely.
Logcat Failure:
I cr_VrShellDelegate: enterVrInternal, mInVr = false canEnterVR = true
I cr_VrShellDelegate: enterVR activity = com.oculus.browser.WebXRCustomTabActivity
I OpenXR_SessionImpl: ------------ xrCreateSession [start] -----------
I OpenXR_SessionImpl: ------------ xrCreateSession [end] -----------
I OpenXR_SessionImpl: ------------ xrBeginSession [start] -----------
I OpenXR_SessionImpl: ------------ xrBeginSession [end] -----------
E chromium: [ERROR:oculus/browser/vr/vr_shell.cc:677] GetTelemetry: panel_app is null, can't get telemetry!
E chromium: [ERROR:oculus/browser/vr/vr_shell.cc:261] SetIsInVR No browser panel
I cr_VrShellDelegate: exitWebVRPresent
I OpenXR_SessionImpl: ------------ RequestExitSession [start] -----------
I OpenXR_SessionImpl: ------------ RequestExitSession [end] -----------
I OpenXR_SessionImpl: ------------ xrEndSession [start] -----------
I OpenXR_SessionImpl: ------------ xrDestroySession [start] -----------
I cr_WebXRCustomTabActivity: finish!
Verification Steps Completed:
- Digital Asset Links verified (TWA verification was successful!).
- Tested both local sideloading (adb install) and official store distribution via private Alpha channel.
- Confirmed bug is strictly present in Browser v150 and absent in Browser v146.
