model-viewer icon indicating copy to clipboard operation
model-viewer copied to clipboard

WebXR mode does not time out when it fails

Open petr-hajek opened this issue 1 year ago • 4 comments

Description

  1. Go to https://modelviewer.dev/ with affected device
  2. click the AR button for the default model
  3. Console logs: Attempting to present in AR with WebXR...
  4. Nothing happens. It never times out to try the SceneViewer. Clicking the AR button again does not do anything. When tested with SceneViewer as a first option it works. Expected: Underlying issue is related to Samsung (or Chrome), but it should still fail gracefully and try SceneViewer in case there's some issue with WebXR. Problem will be somehwere here, that this await never times out: https://github.com/google/model-viewer/blob/4a313508895ebac912e95d81f0c6f972dcaba2ad/packages/model-viewer/src/features/ar.ts#L278

Live Demo

https://modelviewer.dev/

Version

  • model-viewer: v3.4.0 Tested also with 3.5.0 and occurs as well

Browser Affected

  • [x] Chrome, version: 124.0.6367.82

OS

  • [x] Android v14 Replicated on Samsung S24+ and S22+ Affects OS with One UI 6.1. Tested on one device, it started occuring ater updating from One UI 6.0 to 6.1.

AR

  • [x] WebXR

petr-hajek avatar Apr 30 '24 14:04 petr-hajek

@bialpio @toji This looks like a WebXR regression; can you repro?

elalish avatar May 01 '24 16:05 elalish

At the moment I only have Pixel devices on hand, but I can confirm that the Pixel 6, 7, and 8 are not seeing this regression on Android 14, so it's likely something to do with the Samsung software like @petr-hajek theorized.

That said, there's a few different places in the ARRenderer that the await could be getting hung up on, and it would be helpful to know which is was. Some would be more practical to put timeout logic around than others.

rAF: https://github.com/google/model-viewer/blob/4a313508895ebac912e95d81f0c6f972dcaba2ad/packages/model-viewer/src/three-components/ARRenderer.ts#L186

Session: https://github.com/google/model-viewer/blob/4a313508895ebac912e95d81f0c6f972dcaba2ad/packages/model-viewer/src/three-components/ARRenderer.ts#L207

Reference Space: https://github.com/google/model-viewer/blob/4a313508895ebac912e95d81f0c6f972dcaba2ad/packages/model-viewer/src/three-components/ARRenderer.ts#L219

toji avatar May 02 '24 22:05 toji

Can you also provide the full chrome://version string including the bitness of Chrome? (32 vs 64)?

alcooper91 avatar May 02 '24 22:05 alcooper91

@alcooper91 Chrome: 124.0.6367.113 (Official Build) (64-bit)

petr-hajek avatar May 07 '24 09:05 petr-hajek