we have developed a 360° showcase web app and implemented the web vr interface. We have already tested the website in Firefox with the Vive and Rift and on Android with the Google Daydream. When we tested the app with Oculus Go we noticed that the vr api works as indented but the controller was missing. I debugged the browser app and found this:
The display id of the Oculus Go and the display id of the controller were different. When the controller is in the same 3d space as the vr headset the two display ids should match. This is not the case when using the Oculus Browser. So our web app ignores the controller.
See also: https://developer.mozilla.org/en-US/docs/Web/API/Gamepad/displayId
Here is an example: https://webvr.info/samples/XX-vr-controllers.html
This app ignores the display id so the controller is visible. Open this link in the Oculus Go. Connect your Oculus Go to your computer, enable developer mode and install ADB. Open Chrome on your Desktop and enter chrome://inspect. Inspect the XX - VR Controllers tab. List all your vr displays with "navigator.getVRDisplays().then((r) => console.log(r))". List all your gamepads with "navigator.getGamepads()". You should see that the display ids differ.
For now we'll ignore the display id if the display name is "Oculus Go". But is this behaviour indented or is this a bug? The ids match in the Android Chrome browser.