digital-dream-labs / vector-web-setup

Tool to perform initial configuration of Vector robots.
MIT License
65 stars 57 forks source link

Using Google Chrome but error says "Google Chrome required" #10

Open xanathon opened 4 years ago

xanathon commented 4 years ago

Usually I do not use Google Chrome for privacy reasons. However, since your readme claims web bluetooth only runs in Google Chrome (which is not true regarding the information here: https://developer.mozilla.org/en-US/docs/Web/API/Bluetooth#Browser_compatibility) I installed it for this reason.

Chrome version 84.0.4147.105

I still get this error message: "Vector Web Setup uses Web Bluetooth which requires Google Chrome. See Mozilla's compatibility table for details."

julio-matarranz commented 4 years ago

Same problem for me. Same Chrome version on Windows 10 using the webapp on Dockerized Node LTS on another computer.

julio-matarranz commented 4 years ago

I found the reason. The Bluetooth feature only works over http on localhost otherwise it should be https.

xanathon commented 4 years ago

It looks like this just does not work on a Raspi whatsoever, not locally with Chromium or remote after opening the port with other browsers. I installed the setup on a Windows box that runs nothing else than Node.js and web setup. I then am able to get the web gui running with Vivaldi browser.

If I try to connect to that from another computer in the network I get "use Chrome" on http, on https I get "not able to establish a secure connection".

However I am stuck at pairing any one of my Vectors via Bluetooth, but that should be another issue.

julio-matarranz commented 4 years ago

I have managed to use it with this :

PS : Digital dream labs needs to add CORS to the node application.

grant-olson commented 4 years ago

Yes the app does a capabilities check to see if the browser will let us talk to the BLE interface for programming. If that capabilities check fails we show a simplified error message that seemed to be useful to most users. We'll have to come up with a way to get some better error messages that don't overwhelm users.

grant-olson commented 4 years ago

The cors is a separate issue because we need to decide how to handle that on the cloud side which issues the list of valid domains. Our cloud stack is restricted to a select set of authorized domains so users don't get a malicious firmware installed via a random website. As the escape pod rolls out people will be able to set their own cors settings as they see fit.

xanathon commented 4 years ago

I just tried to load localhost:8000 in Edge. According to the Mozilla page on Web BT that browser implements it way further than Chrome, but I still get "Browser needs to support Web BT". Is the Chrome check hardcoded?

I do not think you will need to think about "most users" at the moment, as all of this is way beyond most normal users anyway in the current state. ;) So more elaborate error messages would be helpful in debugging.

grant-olson commented 4 years ago

We do a capabilities check here:

https://github.com/digital-dream-labs/vector-web-setup/blob/master/rts-js/main.js#L408

If you want to investigate you can eliminate the check, but then the code in rts-js/vector-bluetooth.js tries to access the same object, so there will need to be some adjustments there as well.

nilseuropa commented 3 years ago

This is as far as I can get running either v.1.0.0 installed with npm, or running the latest from this repo ( with or without websec enabled ):

Screenshot from 2020-10-01 20-08-23

Any idea?

nilseuropa commented 3 years ago

The following chrome://flags has to be enabled:

geogarrett00 commented 11 months ago

Has anyone else had any more success with this? I would love to get this working, I am on Ubuntu and am unable to get past this capabilities check. I have the server running on Ubuntu and have tried connecting via a native windows device as well as android to no avail.