-
Notifications
You must be signed in to change notification settings - Fork 987
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
Keycard - Import a seed phrase into a new Keycard #21947
Conversation
Jenkins BuildsClick to see older builds (31)
|
6b7a500
to
d16f13c
Compare
d16f13c
to
64fb344
Compare
361645b
to
e49c599
Compare
SummaryThe PR implements a flow for importing a seed phrase into a new keycard and creating an account using that seed phrase. It is essentially a combination of the "recovery phrase flow" and the "Create profile using an empty keycard" flow. Some important points:-
Unrelated, but it might be worth considering treating reusable flows as components and defining them in a single place to avoid discrepancies. We could then simply add a label when we need to duplicate a flow, similar to how we handle the "Try Again" button flows.
I don’t think any of these points are blockers for the PR, but please let me know if you think otherwise. @flexsurfer @ilmotta |
88% of end-end tests have passed
Failed tests (1)Click to expandClass TestCommunityMultipleDeviceMerged:
Passed tests (7)Click to expandClass TestCommunityOneDeviceMerged:
Class TestWalletOneDevice:
Class TestOneToOneChatMultipleSharedDevicesNewUi:
Class TestWalletMultipleDevice:
|
7d100bf
to
f51f924
Compare
Hi @Parveshdhull ! Thanks for such an important logic implementation! Here are 2 UI issues, by now I will group them into one : Issue 1: Flow UI issues
Design vs Implementation https://www.figma.com/design/YGm3igIOAcwMqUVJWCJ6f1/Keycard?node-id=5045-52037&m=dev
Design vs Implementation Steps:
https://www.figma.com/design/YGm3igIOAcwMqUVJWCJ6f1/Keycard?node-id=5045-51925&m=dev |
ISSUE 2: The app gets stuck while scanning a different KeycardSteps:
Result: The app gets stuck on Preparing screen IMG_4950.MP4Expected result: https://www.figma.com/design/YGm3igIOAcwMqUVJWCJ6f1/Keycard?node-id=5045-52070&m=dev |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In the "Enter recovery phrase" flow in Figma, there is a screen displaying the error message: "The recovery phrase you entered is linked to a key pair already added to this device," along with a button labeled "Enter another recovery phrase." However, in our standard recovery flow, when :onboarding/seed-phrase-validated is dispatched, we show a popup(as shows in above video) that allows the user to open the profiles screen and access the already existing profile (profile selection functionality is currently broken, and I’ve added a comment in the code). Given this, I believe both flows should use the same logic, and we need to decide which approach we want to keep.
@Parveshdhull, I don't have any strong preference regarding this point, but I find the current solution showing a pop-up slightly worse than what's in Figma because the user loses context by being redirected to the profile selection. The solution in Figma is consistent with other error messages that can occur in the recovery phrase screen, so that's mainly why I prefer it. If the effort is small seems worth improving to match the UX in Figma. Not a blocker to this PR IMO.
Unrelated, but it might be worth considering treating reusable flows as components and defining them in a single place to avoid discrepancies. We could then simply add a label when we need to duplicate a flow, similar to how we handle the "Try Again" button flows.
Good idea @Parveshdhull.
I think we should move the biometric step to show after account creation, as I also mentioned here.
Agreed 👍🏼 This inconsistency is creating unnecessary complexity.
"Importing a seed phrase into a new keycard" flow includes an additional intermediary screen. Do we need it? I’m also unsure when we should display this screen, as mentioned in this #21673, where even the visibility of the "Preparing Status for you" screen is sometimes too short.
Just confirming if I understood your suggestion, per screenshots below, the user would go from the first screen to the second directly, possibly waiting a few seconds? If that's the case, I think it should be fine as long as it doesn't take too long on average (from my usage it's always been relatively fast). Nice suggestion to simplify.
ISSUE 3: Not empty keycard can be used after PIN during Create Profile flowSteps:
Result: Expected result: This is a different Keycard screen should be shown https://www.figma.com/design/YGm3igIOAcwMqUVJWCJ6f1/Keycard?node-id=3-89231&p=f&m=dev |
f51f924
to
8ce2561
Compare
Thank you @ilmotta for reviewing the PR. Addressed required changes.
Thank you, added task in #21970
Yes
Thank you |
Thanks, @mariia-skrypnyk, for testing the PR. The "Import a seed phrase into a new Keycard" flow combines the existing seed phrase and Keycard base flows, so this PR inherits their limitations and issues. The reported issues are important but addressing them all at once would add complexity. I’ve created a separate issue for these bugs (including the info button update task from the old issue). Since these issues are already part of the develop branch and were not introduced by this PR, we can focus on testing only the new functionality of the PR. Please let me know if this is not the case for any of the issues. |
Hi @Parveshdhull ! Understand your concern! Does it make sence? Or you still think it is out of the current PR's scope? UPD: I found issue in repo that we do not have this logic for now #21647 and probably that's why it was not included by you (nothing to include). So, Issue 3 with #21647 should also exist as a separate tasks. Failed e2e is not related. |
8ce2561
to
6518646
Compare
fixes #21932
Video
signal-2025-01-19-184345.mp4
status: ready
Found Issues
Flow UI issues
The app gets stuck while scanning a different Keycard
ISSUE 3: Not empty keycard can be used after PIN during Create Profile flow