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

Change the process by which we pair the mobile app to the Bisq client #8

Open
8 tasks
devinbileck opened this issue Sep 22, 2021 · 0 comments
Open
8 tasks
Labels
an:enhancement An improvement or change in behavior to an existing feature/component needs:api changes New functionality or change in behavior is required with the Bisq API needs:core changes New functionality or change in behavior is required with the Bisq core needs:ux design UX design work is needed before implementing the UI

Comments

@devinbileck
Copy link
Member

devinbileck commented Sep 22, 2021

The current pairing process is done by sending the device token and encryption key from the mobile app to the Bisq client either by scanning a QR code generated by the app into the Bisq client or by emailing it from the app and entering it into the Bisq client.

This process is not ideal as it requires a web cam for the desktop application to scan the QR code, and the process of sending it by email is cumbersome. Not to mention that the webcam library is not currently supported by the desktop application so currently the only supported process is via email.

The better approach is to generate a QR code on the desktop application and scan it into the mobile app. In order to do this, the QR code should just contain information about connecting to the client via Tor (i.e. Tor address), and the user can then enter the password. Once a connection has been made, the app can send additional information via the GRCP API such as device token and encryption key for push notifications. Note that support for this will need to be added to the API.

Also, we should allow for manually inputting the Tor address in case the user does not want to (or not able to) use their camera to scan the QR code or if they are unable to generate a QR code such as when running a headless client. Though we should look into solutions for being able to generate a QR code when running a headless client such as using something like qrencode or some other library.

Follow the designs provided here.

Todo:

  • Update Bisq desktop client to display a QR code consisting of its Tor address.
  • Update Bisq API to be able to send mobile device information such as device token and encryption key used for push notifications.
  • Add support for being able to communicate via Tor.
  • Add support for the new GRPC method.
  • Implement views/functionality for scanning the QR code and storing the client Tor address, or allowing the user to manually input the Tor address.
  • Implement views/functionality for allowing the user to input the GRCP authentication password.
  • Implement functionality of sending the mobile device information via Tor to the new API method.
  • Implement a solution for being able to generate a QR code when running a headless client.
@devinbileck devinbileck added a:task Something that needs to be done needs:api changes New functionality or change in behavior is required with the Bisq API labels Sep 22, 2021
@devinbileck devinbileck added needs:core changes New functionality or change in behavior is required with the Bisq core an:enhancement An improvement or change in behavior to an existing feature/component needs:ux design UX design work is needed before implementing the UI and removed a:task Something that needs to be done labels Sep 23, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
an:enhancement An improvement or change in behavior to an existing feature/component needs:api changes New functionality or change in behavior is required with the Bisq API needs:core changes New functionality or change in behavior is required with the Bisq core needs:ux design UX design work is needed before implementing the UI
Projects
None yet
Development

No branches or pull requests

1 participant