[native] Part 1: use user's keyserver selection in registration flow
Summary:
Separating this from the next diff because the approaches are slightly different. In this diff we update all of the callsites where we know the keyserver selection at "render time" (eg. we can pass it as input into a hook).
In the next diff, we'll handle callsites that only know the keyserver selection when it gets passed to a callback.
Depends on D8194
Test Plan:
Tested in combination with the rest of the stack as follows:
- 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
- Test the registration flow end-to-end for an Ethereum account
- Test the registration flow end-to-end for a username/password account
- Test the registration flow end-to-end for a username/password account with a custom avatar that requires an image upload
- Make sure that for all registrations, the correct avatar appears in the ChatThreadList when the RegistrationNavigator dismisses
Reviewers: atul, ginsu
Reviewed By: ginsu
Subscribers: tomek
Differential Revision: https://phab.comm.dev/D8195