You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Remove JSC references from build.gradle and CMakeLists.txt files.
- Remove our custom JSCRuntime.h/JSCRuntime.cpp.
- In the interop layer (both Android and iOS), use jsi::Runtime directly (don't try to extract the JSC global context and wrap it in our custom JSCRuntime).
- Add a direct dependency on base-64.
- Use base-64 very early in initialization to provide an atob polyfill.
// These are errors that are normally thrown by WebXR's requestSession, so we should throw the same errors under similar circumstances so app code can be written the same for browser or native.
// Override the WebXRSessionManager.initializeSessionAsync to insert a camera permissions request. It would be cleaner to do this directly in the native XR implementation, but there are a couple problems with that:
25
+
// 1. React Native does not provide a way to hook into the permissions request result (at least on Android).
26
+
// 2. If it is done on the native side, then we need one implementation per platform.
// Babylon Native includes a native atob polyfill, but it relies JSI to deal with the strings, and JSI has a bug where it assumes strings are null terminated, and a base 64 string can contain one of these.
61
+
// So for now, provide a JavaScript based atob polyfill.
// Override the WebXRSessionManager.initializeSessionAsync to insert a camera permissions request. It would be cleaner to do this directly in the native XR implementation, but there are a couple problems with that:
36
-
// 1. React Native does not provide a way to hook into the permissions request result (at least on Android).
37
-
// 2. If it is done on the native side, then we need one implementation per platform.
0 commit comments