Skip to content
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

webXR AR broken on Android Chrome 88 #21126

Closed
jtanant opened this issue Jan 21, 2021 · 6 comments
Closed

webXR AR broken on Android Chrome 88 #21126

jtanant opened this issue Jan 21, 2021 · 6 comments

Comments

@jtanant
Copy link

jtanant commented Jan 21, 2021

Describe the bug

My test device runnning Android 8.0.0 updated to Android Chrome 88 today, and the three XR AR samples no longer work.
https://threejs.org/examples/?q=webXR#webxr_ar_cones
https://threejs.org/examples/?q=webXR#webxr_ar_hittest
https://threejs.org/examples/?q=webXR#webxr_ar_paint

I am describing the issue on the webxr_ar_hittest example.

To Reproduce

Steps to reproduce the behavior:
-Update Android Chrome to v88.
-Go to https://threejs.org/examples/?q=webXR#webxr_ar_hittest
-Click on "Start AR".
-This is not working and there is an error in the console.

Expected behavior
We should go in AR (it was working before with Chrome <88).

Screenshots

Screen Shot 2021-01-21 at 2 10 39 PM

Platform:

  • Device: Mobile
  • OS: Android 8.0.0
  • Browser: Android Chrome 88
  • Three.js version: online website version
@Mugen87
Copy link
Collaborator

Mugen87 commented Jan 21, 2021

Can you please try it with the current dev version?

https://raw.githack.com/mrdoob/three.js/dev/examples/index.html

Same result?

@Mugen87
Copy link
Collaborator

Mugen87 commented Jan 21, 2021

Tried it myself on a Pixel 4a. The dev version works (because of #20754). So this will be fixed with r125 next week.

@Mugen87 Mugen87 closed this as completed Jan 21, 2021
@mrdoob
Copy link
Owner

mrdoob commented Jan 21, 2021

Yes... It's unfortunate, but seems like Chrome 88 broke all the projects done pre-r125 🙁

@jtanant
Copy link
Author

jtanant commented Jan 21, 2021

Thanks for such a prompt answer @Mugen87 and @mrdoob !
Yes, I am confirming it works on my side with dev version.
Let's migrate our project and keep up the good work!

@cabanier
Copy link
Contributor

Yes... It's unfortunate, but seems like Chrome 88 broke all the projects done pre-r125 🙁

They must have made a slight tweak to how promises are resolved.

@Mugen87
Copy link
Collaborator

Mugen87 commented Jan 21, 2021

Well, at least #20754 is not a big PR. If a project can't afford the budget to upgrade to the latest three.js version, they can still cherry-pick the change into their build. Not ideal but better than a broken app...

zakharvoit added a commit to Igalia/wolvic-chromium that referenced this issue Sep 4, 2023
Older versions of three.js (until r125) have the following issue
mrdoob/three.js#21126 present which breaks
certain WebXR experiences like "moonrider" and "construct chess".

This workaround makes sure that any WebGL context is marked as XR
compatible when possible which means that applications no longer have
to mark it manually and in the correct order. This fix is verified to
work on both "moonrider" and "construct chess" and also doesn't break
sample WebGL pages that don't use WebXR.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants