Page MenuHomePhabricator

[native] Call keyserver version endpoint to confirm user's keyserver selection
ClosedPublic

Authored by ashoat on Jun 13 2023, 9:56 AM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Nov 4, 10:38 AM
Unknown Object (File)
Mon, Nov 4, 10:38 AM
Unknown Object (File)
Mon, Nov 4, 10:38 AM
Unknown Object (File)
Thu, Oct 31, 7:26 PM
Unknown Object (File)
Mon, Oct 28, 12:15 AM
Unknown Object (File)
Mon, Oct 28, 12:15 AM
Unknown Object (File)
Mon, Oct 28, 12:15 AM
Unknown Object (File)
Mon, Oct 28, 12:13 AM
Subscribers

Details

Summary

Before this diff, we completely ignored the keyserverUsername. The idea was that the user would enter another user's username there, and that the client would then query the identity service to ask how to talk to that keyserver.

Since the identity service isn't ready yet, instead we're going to have the user enter a URL prefix for the keyserver they want to talk to. This diff makes that change, and also calls the new version endpoint to make sure that the keyserver URL that the user entered points to a valid keyserver.

Depends on D8191

Test Plan

Tested in combination with the rest of the stack as follows:

  1. Override defaultURLPrefix in native/utils/url-utils.js to return some random string. This makes sure that the "default" of Ashoat's keyserver does not work, and makes it so the registration flow only works if the user selects a custom keyserver and all of the server calls in the registration flow use that custom keyserver
  2. Test the registration flow end-to-end for an Ethereum account
  3. Test the registration flow end-to-end for a username/password account
  4. Test the registration flow end-to-end for a username/password account with a custom avatar that requires an image upload
  5. Make sure that for all registrations, the correct avatar appears in the ChatThreadList when the RegistrationNavigator dismisses

Diff Detail

Repository
rCOMM Comm
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

ashoat edited reviewers, added: ginsu; removed: michal.
native/account/registration/keyserver-selection.react.js
91 ↗(On Diff #27686)

As mentioned in the diff description, this field is no longer storing a username, but is now storing a URL.

To avoid cluttering this diff, I separated out the renaming of this field into its own diff: D8193

This revision is now accepted and ready to land.Jun 13 2023, 12:05 PM