Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upHubs rooms don't load #26097
Hubs rooms don't load #26097
Comments
This might be something that needs to be fixed upstream in Hubs. However, I'm curious as to how much the Hubs folks are interested in supporting devices that have no gamepads, since you can't do as much. |
|
They are interested in supporting the HoloLens. |
|
This will probably require UI changes on their side so that hololens' interaction patterns can work. Once immersive-web/webxr#997 is resolved that will also probably trigger some change. We should wait for that to resolve and then open a dialogue with them. |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as outdated.
This comment was marked as outdated.
|
Hubs patches pushed to https://github.com/servo/hubs/tree/checkpoint. |
|
Filed servo/media#342 , servo/media#343 for the media element stuff |
This comment was marked as off-topic.
This comment was marked as off-topic.
|
With the latest user script revision from the servo/hubs checkpoint branch, and the latest userscript from #26097 (comment), I am able to complete the UI flow to enter the room. I can't move around with the keyboard; it's not yet clear if that's because the data channels are totally fake or the correct key event listeners aren't being triggered. |
|
With the latest Servo revision we can see the room contents for https://hubs.mozilla.com/mB8Wn7L/talkative-simplistic-sphere, but the lobby dialog never appears. I've rebased https://github.com/servo/hubs/tree/checkpoint against upstream Hubs and the lobby dialog appears, so it seems like servo/hubs@1e5f21c may still be commenting out some code that interrupts execution. |
This comment was marked as resolved.
This comment was marked as resolved.
|
With the latest Servo revision, the only user-agent script stub that's still required is MediaDevices.enumerateDevices. Additionally, with my latest hubs-investigation servo branch, I am able to enter rooms on hubs.mozilla.org, rather than requiring a hacked-up local server! |
|
So I can now get servo to enter a hubs room, with the magic incantation:L
The URL parameters are the key, they are:
There is also |
|
#27429 adds a pref to indicate user intent, which allows entering a hubs room in webxr. |
|
#27456 is the changes needed to enter hubs rooms in the gstreamer plugin. |

Trying to load http://hubs.mozilla.com/mB8Wn7L/talkative-simplistic-sphere
Recommended setup:
debug=trueto the query string of the URL to get useful debug info from various vendored libraries./mach run [url] --pref dom.gamepad.enabled --pref dom.svg.enabled --pref dom.webrtc.enabled --pref dom.canvas_capture.enabled --pref dom.webrtc.transceiver.enabled --userscripts=resources/user-agent-jsapply #26097 (comment) toresources/user-agent-js/00.example.jsTo modify hubs for debugging:
--unminify-jsonce, then use--local-script-source=unminified-js/and modify the appropriate scripts as needed, ORnpm run dev, connect tohttps://localhost:8080/hub.html?hub_id=SjXspyZ(the room link on the default index page won't do what you want)Known issues:
--pref dom.gamepad.enabled--pref dom.svg.enabled--pref dom.webrtc.enabledBig banner that says "your browser does not support webrtc data channels, which is required to use hubs"default self-signed cert for hubs dev server needs a keySize of 2048 (https://github.com/MozillaReality/ieeevr-hubs/blob/12a52b10a5f72b7c32b9b7ce10cde05453cd24c0/webpack.config.js#L32-L34)servo won't validate self-signed cert from dev serverwebsocket connection errors out repeatedlywebaudio panicwe have an incomplete createImageBitmap implementation which isn't pref-gated, which interferes with the texture loaderJS error trying to callthis.audioContext.createMediaStreamDestinationJS error:TypeError: conn.createDataChannel is not a functionworkaround: user script in #26097 (comment)JS errors:console.group is not a function(also a use of console.groupEnd)JS error:[2020-06-10T20:41:16Z ERROR script::dom::bindings::error] Error at :0:0 DataCloneError: The object can not be cloned.websocket handshake error:X-WebSocket-Reject-Reason: invalid/missing Sec-WebSocket-Protocolservo/hubsWebRTC creation failed: Backend("webrtcbin element not found") (thread ScriptThread PipelineId { namespace_id: PipelineNamespaceId(1), index: PipelineIndex(1) }, at /Users/jdm/.cargo/git/checkouts/media-c23a3cd5aa97076a/62cd58a/backends/gstreamer/lib.rs:314)JS error:TypeError: canvas.captureStream is not a function--pref dom.canvas_capture.enabledJS output:%cnaf-dialog-adapter:error %c_joinRoom() failed:%o%c +311ms--pref dom.webrtc.transceiver.enabledJS output:SecurityError: The operation is insecure.JS error:TypeError: mediaDevices.enumerateDevices is undefinedmovement is mostly brokenany sound from another connected client triggers a panichubs.mozilla.org doesn't show the lobby dialogavatar selection is broken