Three.js: TypeError: Cannot read property 'precision' of null (Brave)

Created on 25 Jun 2019  ·  9Comments  ·  Source: mrdoob/three.js

Getting this error using the Brave browser on Windows 10.

I'm using create-react-app and "three": "^0.100.0" with npm.

THREE.WebGLRenderer 100
three.module.js:10188 Uncaught TypeError: Cannot read property 'precision' of null
    at getMaxPrecision (three.module.js:10188)
    at new WebGLCapabilities (three.module.js:10206)
    at initGLContext (three.module.js:15334)
    at new WebGLRenderer (three.module.js:15374)
    at ThreeWorld (ThreeWorld.js:13)
    at init (index.js:19)
    at createBoardAndApi (Map.js:169)
    at Map.js:43
    at commitHookEffectList (react-dom.development.js:18059)
    at commitPassiveHookEffects (react-dom.development.js:18086)
    at HTMLUnknownElement.callCallback (react-dom.development.js:147)
    at Object.invokeGuardedCallbackDev (react-dom.development.js:196)
    at invokeGuardedCallback (react-dom.development.js:250)
    at commitPassiveEffects (react-dom.development.js:19712)
    at wrapped (scheduler-tracing.development.js:177)
    at flushPassiveEffects (react-dom.development.js:19765)
    at dispatchAction (react-dom.development.js:14042)
    at Observer.callback (index.js:12)

More info:
https://www.reddit.com/r/brave_browser/comments/akshp1/threejs_error_webgl_when_using_the_brave_browser/

image

Browser Issue

Most helpful comment

Just in case someone else has issues with this on Brave (I was going to comment on reddit but the thread was archived).

I think this might be caused by the device recognition shield in Brave, since device information from WebGL can be used for fingerprinting. By changing the setting for "Device Recognition" in Shield settings to "Allow all device recognition attemps" or "Only block cross-site device recognition attemps" you should not get this error.

All 9 comments

Sry, this is not a library but a browser issue. You should ask the support of Brave browser to fix this issue...

Seems like this is being already reported/discussed in the mentioned link:
https://www.reddit.com/r/brave_browser/comments/akshp1/threejs_error_webgl_when_using_the_brave_browser/

Just in case someone else has issues with this on Brave (I was going to comment on reddit but the thread was archived).

I think this might be caused by the device recognition shield in Brave, since device information from WebGL can be used for fingerprinting. By changing the setting for "Device Recognition" in Shield settings to "Allow all device recognition attemps" or "Only block cross-site device recognition attemps" you should not get this error.

Thank you @AnotherHermit, this was huge for me

Hello, any advice to manage this issue without the need of asking the user to turn off a specific setting in Brave Shield?
We have a Three.js object on our landing page and it looks a little bit disgusting to didn't see it when the setting is turned on...

Does this occur when using a local HTTP server, or also on a remote HTTPS server?

Hello, any advice to manage this issue without the need of asking the user to turn off a specific setting in Brave Shield?

Have you asked Brave devs?

i get this error when trying to use google maps. the ui is missing i think because of this (only map is shown)

Please, report these issues to the developers of Brave directly.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

konijn picture konijn  ·  3Comments

boyravikumar picture boyravikumar  ·  3Comments

Horray picture Horray  ·  3Comments

ghost picture ghost  ·  3Comments

fuzihaofzh picture fuzihaofzh  ·  3Comments