Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
xanathon opened this issue Aug 1, 2020 · 11 comments
Open

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

xanathon opened this issue Aug 1, 2020 · 11 comments

Comments

@xanathon
Copy link

xanathon commented Aug 1, 2020

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
Copy link

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

@julio-matarranz
Copy link

julio-matarranz commented Aug 1, 2020

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

@xanathon
Copy link
Author

xanathon commented Aug 1, 2020

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
Copy link

I have managed to use it with this :

  • Docker engine
  • Simple Dockerfile (inside src directory)
FROM node:lts
RUN npm install -g vector-web-setup && \
vector-web-setup configure && \
vector-web-setup ota-sync
CMD ["vector-web-setup", "serve"]
  • Simple docker-compose.yml
version: "3"
services:
  vector-web:
    container_name: vector-web
    image: vector-web
    build: ./src
    ports:
      - 4040:8000
  • Reverse proxy with https certificate
  • Laptop with Chrome on Windows 10 (Bluetooth activated) and the Chrome flag "--disable-web-security" because of CORS during login to Anki APIs

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

@grant-olson
Copy link

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
Copy link

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
Copy link
Author

xanathon commented Aug 3, 2020

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
Copy link

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
Copy link

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
Copy link

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

  • Experimental Web Platform features
  • Use the new permissions backend for Web Bluetooth

@geogarrett00
Copy link

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants