status-mobile icon indicating copy to clipboard operation
status-mobile copied to clipboard

feat: new keypair: mnemonic, address, KP name screen

Open OmarBasem opened this issue 1 year ago • 2 comments

fixes: https://github.com/status-im/status-mobile/issues/18670

This PR implements the following in the new keypair flow:

  • Generating random mnemonic, and removes the hardcoded one
  • Keypair name screen
  • Generating address for the generated mnemonic

Finalizing the wallet account creation from the new keypair will be addressed in a separate issue: https://github.com/status-im/status-mobile/issues/18813

status-go PR: https://github.com/status-im/status-go/pull/4712

Designs

Demo: https://github.com/status-im/status-mobile/assets/29354102/cc3351a6-cab9-4c2c-b74e-56288eb1ba0f

OmarBasem avatar Feb 12 '24 12:02 OmarBasem

Jenkins Builds

Click to see older builds (80)
:grey_question: Commit :hash: Finished (UTC) Duration Platform Result
:x: dde84788 #1 2024-02-12 12:59:03 ~2 min tests :page_facing_up:log
:heavy_check_mark: dde84788 #1 2024-02-12 13:03:08 ~7 min android-e2e :robot:apk :calling:
:heavy_check_mark: dde84788 #1 2024-02-12 13:03:53 ~7 min ios :iphone:ipa :calling:
:heavy_check_mark: dde84788 #1 2024-02-12 13:04:13 ~8 min android :robot:apk :calling:
:x: 6466e571 #2 2024-02-13 11:15:32 ~1 min tests :page_facing_up:log
:x: 12811a90 #3 2024-02-13 11:19:02 ~3 min tests :page_facing_up:log
:x: 12811a90 #3 2024-02-13 11:19:58 ~4 min ios :page_facing_up:log
:heavy_check_mark: 12811a90 #3 2024-02-13 11:23:12 ~7 min android :robot:apk :calling:
:heavy_check_mark: 12811a90 #3 2024-02-13 11:23:17 ~7 min android-e2e :robot:apk :calling:
:x: 12811a90 #4 2024-02-13 11:26:53 ~4 min ios :page_facing_up:log
:x: b7068c77 #5 2024-02-13 12:21:48 ~2 min tests :page_facing_up:log
:x: b7068c77 #6 2024-02-13 12:24:12 ~4 min ios :page_facing_up:log
:heavy_check_mark: b7068c77 #5 2024-02-13 12:26:33 ~6 min android :robot:apk :calling:
:heavy_check_mark: b7068c77 #5 2024-02-13 12:26:54 ~7 min android-e2e :robot:apk :calling:
:x: af279973 #8 2024-02-13 12:40:30 ~4 min ios :page_facing_up:log
:x: af279973 #7 2024-02-13 12:45:26 ~9 min tests :page_facing_up:log
:heavy_check_mark: af279973 #7 2024-02-13 12:49:33 ~13 min android-e2e :robot:apk :calling:
:heavy_check_mark: af279973 #7 2024-02-13 12:49:53 ~13 min android :robot:apk :calling:
:x: 8db6aedb #8 2024-02-15 04:16:46 ~3 min tests :page_facing_up:log
:x: 8db6aedb #9 2024-02-15 04:18:09 ~4 min ios :page_facing_up:log
:heavy_check_mark: 8db6aedb #8 2024-02-15 04:20:16 ~6 min android-e2e :robot:apk :calling:
:heavy_check_mark: 8db6aedb #8 2024-02-15 04:21:24 ~7 min android :robot:apk :calling:
:x: 71a6612d #9 2024-02-15 10:33:50 ~1 min tests :page_facing_up:log
:x: 71a6612d #10 2024-02-15 10:36:34 ~4 min ios :page_facing_up:log
:heavy_check_mark: 71a6612d #9 2024-02-15 10:39:49 ~8 min android-e2e :robot:apk :calling:
:heavy_check_mark: 71a6612d #9 2024-02-15 10:39:54 ~8 min android :robot:apk :calling:
:x: 86ff7d50 #10 2024-02-15 11:17:35 ~1 min tests :page_facing_up:log
:x: 86ff7d50 #11 2024-02-15 11:20:36 ~4 min ios :page_facing_up:log
:heavy_check_mark: 86ff7d50 #10 2024-02-15 11:22:25 ~6 min android-e2e :robot:apk :calling:
:heavy_check_mark: 86ff7d50 #10 2024-02-15 11:22:40 ~6 min android :robot:apk :calling:
:x: 7beb18dc #11 2024-02-16 04:03:39 ~1 min tests :page_facing_up:log
:x: 7beb18dc #12 2024-02-16 04:07:52 ~5 min ios :page_facing_up:log
:heavy_check_mark: 7beb18dc #11 2024-02-16 04:08:34 ~6 min android-e2e :robot:apk :calling:
:heavy_check_mark: 7beb18dc #11 2024-02-16 04:08:41 ~6 min android :robot:apk :calling:
:x: eef8f25d #12 2024-02-16 12:30:50 ~1 min tests :page_facing_up:log
:x: eef8f25d #13 2024-02-16 12:33:42 ~4 min ios :page_facing_up:log
:heavy_check_mark: eef8f25d #12 2024-02-16 12:36:01 ~6 min android-e2e :robot:apk :calling:
:heavy_check_mark: eef8f25d #12 2024-02-16 12:36:48 ~7 min android :robot:apk :calling:
:x: fc6360cf #13 2024-02-19 09:22:01 ~1 min tests :page_facing_up:log
:x: fc6360cf #14 2024-02-19 09:24:33 ~4 min ios :page_facing_up:log
:heavy_check_mark: fc6360cf #13 2024-02-19 09:27:08 ~7 min android-e2e :robot:apk :calling:
:heavy_check_mark: fc6360cf #13 2024-02-19 09:27:58 ~7 min android :robot:apk :calling:
:x: 01e1f095 #14 2024-02-19 09:34:06 ~1 min tests :page_facing_up:log
:x: 01e1f095 #15 2024-02-19 09:36:58 ~4 min ios :page_facing_up:log
:heavy_check_mark: 01e1f095 #14 2024-02-19 09:38:53 ~6 min android :robot:apk :calling:
:heavy_check_mark: 01e1f095 #14 2024-02-19 09:39:08 ~6 min android-e2e :robot:apk :calling:
:x: 756c123e #15 2024-02-19 09:46:36 ~2 min tests :page_facing_up:log
:x: 756c123e #16 2024-02-19 09:48:48 ~4 min ios :page_facing_up:log
:x: 76e99b2c #16 2024-02-19 09:51:28 ~1 min tests :page_facing_up:log
:x: 76e99b2c #17 2024-02-19 09:54:17 ~4 min ios :page_facing_up:log
:x: 265a7a2f #18 2024-02-19 09:59:54 ~4 min ios :page_facing_up:log
:heavy_check_mark: 265a7a2f #17 2024-02-19 10:00:36 ~5 min tests :page_facing_up:log
:heavy_check_mark: 265a7a2f #17 2024-02-19 10:02:46 ~7 min android-e2e :robot:apk :calling:
:heavy_check_mark: 265a7a2f #17 2024-02-19 10:02:51 ~7 min android :robot:apk :calling:
:x: 137b9895 #20 2024-02-19 11:28:31 ~4 min ios :page_facing_up:log
:heavy_check_mark: 137b9895 #19 2024-02-19 11:31:25 ~7 min android :robot:apk :calling:
:heavy_check_mark: 137b9895 #19 2024-02-19 11:32:25 ~7 min android-e2e :robot:apk :calling:
:x: 137b9895 #21 2024-02-19 11:49:21 ~3 min ios :page_facing_up:log
:x: 7add7e50 #20 2024-02-20 04:57:02 ~3 min android :page_facing_up:log
:x: 7add7e50 #20 2024-02-20 04:57:12 ~3 min android-e2e :page_facing_up:log
:x: 7add7e50 #22 2024-02-20 04:59:01 ~5 min ios :page_facing_up:log
:heavy_check_mark: 7add7e50 #22 2024-02-20 04:59:05 ~5 min tests :page_facing_up:log
:x: e2923457 #23 2024-02-20 05:27:38 ~6 min ios :page_facing_up:log
:heavy_check_mark: e2923457 #21 2024-02-20 05:28:44 ~7 min android-e2e :robot:apk :calling:
:heavy_check_mark: e2923457 #21 2024-02-20 05:30:24 ~9 min android :robot:apk :calling:
:heavy_check_mark: 3261f1f0 #24 2024-02-20 05:39:07 ~5 min tests :page_facing_up:log
:heavy_check_mark: 3261f1f0 #24 2024-02-20 05:40:52 ~7 min ios :iphone:ipa :calling:
:heavy_check_mark: 3261f1f0 #22 2024-02-20 05:41:10 ~7 min android-e2e :robot:apk :calling:
:heavy_check_mark: 3261f1f0 #22 2024-02-20 05:41:25 ~7 min android :robot:apk :calling:
:heavy_check_mark: f708a087 #25 2024-02-20 06:14:28 ~7 min ios :iphone:ipa :calling:
:heavy_check_mark: f708a087 #23 2024-02-20 06:14:56 ~7 min android-e2e :robot:apk :calling:
:heavy_check_mark: f708a087 #23 2024-02-20 06:15:39 ~8 min android :robot:apk :calling:
:heavy_check_mark: f708a087 #26 2024-02-20 06:53:33 ~4 min tests :page_facing_up:log
:heavy_check_mark: 970b38d1 #27 2024-02-20 13:57:52 ~5 min tests :page_facing_up:log
:heavy_check_mark: 970b38d1 #24 2024-02-20 14:01:11 ~8 min android-e2e :robot:apk :calling:
:heavy_check_mark: 970b38d1 #24 2024-02-20 14:01:13 ~8 min android :robot:apk :calling:
:heavy_check_mark: 970b38d1 #26 2024-02-20 14:09:13 ~16 min ios :iphone:ipa :calling:
:x: 41899f99 #25 2024-02-20 14:38:36 ~3 min android-e2e :page_facing_up:log
:x: 41899f99 #25 2024-02-20 14:38:41 ~3 min android :page_facing_up:log
:x: 41899f99 #27 2024-02-20 14:40:15 ~4 min ios :page_facing_up:log
:grey_question: Commit :hash: Finished (UTC) Duration Platform Result
:heavy_check_mark: bc66fb93 #30 2024-02-20 14:58:04 ~5 min tests :page_facing_up:log
:heavy_check_mark: bc66fb93 #27 2024-02-20 15:00:27 ~8 min android-e2e :robot:apk :calling:
:heavy_check_mark: bc66fb93 #29 2024-02-20 15:00:44 ~8 min ios :iphone:ipa :calling:
:heavy_check_mark: bc66fb93 #27 2024-02-20 15:01:48 ~9 min android :robot:apk :calling:
:heavy_check_mark: 3ca7a11b #31 2024-02-21 11:37:04 ~6 min tests :page_facing_up:log
:heavy_check_mark: 3ca7a11b #28 2024-02-21 11:37:36 ~7 min android-e2e :robot:apk :calling:
:heavy_check_mark: 3ca7a11b #28 2024-02-21 11:37:41 ~7 min android :robot:apk :calling:
:heavy_check_mark: 3ca7a11b #30 2024-02-21 11:37:46 ~7 min ios :iphone:ipa :calling:

status-im-auto avatar Feb 12 '24 12:02 status-im-auto

@J-Son89 all review points have been addressed

OmarBasem avatar Feb 19 '24 10:02 OmarBasem

@J-Son89 re-review please

OmarBasem avatar Feb 20 '24 10:02 OmarBasem

Note for QA: the new feature is hidden behind a feature flag. Just a regression testing is required.

OmarBasem avatar Feb 20 '24 14:02 OmarBasem

96% of end-end tests have passed

Total executed tests: 48
Failed tests: 1
Expected to fail tests: 1
Passed tests: 46
IDs of failed tests: 703629 
IDs of expected to fail tests: 703503 

Failed tests (1)

Click to expand
  • Rerun failed tests

  • Class TestCommunityMultipleDeviceMergedTwo:

    1. test_community_join_when_node_owner_offline, id: 703629

    Device 2: Looking for community: 'open community'
    Device 2: Click until `Text` by `accessibility id`: `community-description-text` will be presented
    critical/chats/test_public_chat_browsing.py:1177: in test_community_join_when_node_owner_offline
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Text "You joined “closed community”" in shown toast element doesn't match expected "You joined “open community”"
    



    Device sessions

    Expected to fail tests (1)

    Click to expand

    Class TestCommunityOneDeviceMerged:

    1. test_community_discovery, id: 703503
    Test is not run, e2e blocker  
    

    [[reason: [NOTRUN] Curated communities not loading, https://github.com/status-im/status-mobile/issues/17852]]

    Passed tests (46)

    Click to expand

    Class TestDeepLinksOneDevice:

    1. test_links_open_universal_links_from_chat, id: 704613
    Device sessions

    2. test_links_deep_links, id: 702775
    Device sessions

    Class TestActivityMultipleDevicePR:

    1. test_navigation_jump_to, id: 702936
    Device sessions

    2. test_activity_center_reply_read_unread_delete_filter_swipe, id: 702947
    Device sessions

    Class TestCommunityOneDeviceMerged:

    1. test_restore_multiaccount_with_waku_backup_remove_switch, id: 703133
    Device sessions

    2. test_community_copy_and_paste_message_in_chat_input, id: 702742
    Device sessions

    3. test_community_undo_delete_message, id: 702869
    Device sessions

    4. test_community_navigate_to_channel_when_relaunch, id: 702846
    Device sessions

    5. test_community_mute_community_and_channel, id: 703382
    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUiTwo:

    1. test_1_1_chat_delete_via_long_press_relogin, id: 702784
    Device sessions

    2. test_1_1_chat_is_shown_message_sent_delivered_from_offline, id: 702783
    Device sessions

    3. test_1_1_chat_mute_chat, id: 703496
    Device sessions

    Class TestActivityMultipleDevicePRTwo:

    1. test_activity_center_mentions, id: 702957
    Device sessions

    2. test_activity_center_admin_notification_accept_swipe, id: 702958
    Device sessions

    Class TestCommunityMultipleDeviceMergedTwo:

    1. test_community_markdown_support, id: 702809
    Device sessions

    2. test_community_hashtag_links_to_community_channels, id: 702948
    Device sessions

    3. test_community_mentions_push_notification, id: 702786
    Device sessions

    4. test_community_leave, id: 702845
    Device sessions

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_several_images_send_reply, id: 703194
    Device sessions

    2. test_community_one_image_send_reply, id: 702859
    Device sessions

    3. test_community_emoji_send_copy_paste_reply, id: 702840
    Device sessions

    4. test_community_mark_all_messages_as_read, id: 703086
    Device sessions

    5. test_community_contact_block_unblock_offline, id: 702894
    Device sessions

    6. test_community_edit_delete_message_when_offline, id: 704615
    Device sessions

    7. test_community_message_delete, id: 702839
    Device sessions

    8. test_community_message_send_check_timestamps_sender_username, id: 702838
    Device sessions

    9. test_community_links_with_previews_github_youtube_twitter_gif_send_enable, id: 702844
    Device sessions

    10. test_community_message_edit, id: 702843
    Device sessions

    11. test_community_unread_messages_badge, id: 702841
    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_emoji_send_reply_and_open_link, id: 702782
    Device sessions

    2. test_1_1_chat_text_message_delete_push_disappear, id: 702733
    Device sessions

    3. test_1_1_chat_push_emoji, id: 702813
    Device sessions

    4. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745
    Device sessions

    5. test_1_1_chat_edit_message, id: 702855
    Device sessions

    6. test_1_1_chat_send_image_save_and_share, id: 703391
    Device sessions

    7. test_1_1_chat_pin_messages, id: 702731
    Device sessions

    8. test_1_1_chat_message_reaction, id: 702730
    Device sessions

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_pin_messages, id: 702732
    Device sessions

    2. test_group_chat_mute_chat, id: 703495
    Device sessions

    3. test_group_chat_send_image_save_and_share, id: 703297
    Device sessions

    4. test_group_chat_reactions, id: 703202
    Device sessions

    5. test_group_chat_join_send_text_messages_push, id: 702807
    Device sessions

    6. test_group_chat_offline_pn, id: 702808
    Device sessions

    Class TestActivityCenterContactRequestMultipleDevicePR:

    1. test_add_contact_field_validation, id: 702777
    Device sessions

    2. test_activity_center_contact_request_accept_swipe_mark_all_as_read, id: 702851
    Device sessions

    3. test_activity_center_contact_request_decline, id: 702850
    Device sessions

    status-im-auto avatar Feb 20 '24 22:02 status-im-auto

    Hi @OmarBasem thank you for PR. No issues from my side. Only some minors which I will track as follow-ups. The current PR is ready to be merged

    VolodLytvynenko avatar Feb 21 '24 09:02 VolodLytvynenko

    I missed one question. Will this screen also be implemented in the upcoming PR related to finalizing the wallet account creation from the new keypair https://github.com/status-im/status-mobile/issues/18813

    Currently it is not shown when 'generate new keypair' option is tapped

    VolodLytvynenko avatar Feb 21 '24 09:02 VolodLytvynenko

    I missed one question. Will this screen also be implemented in the upcoming PR related to finalizing the wallet account creation from the new keypair #18813

    Currently it is not shown when 'generate new keypair' option is tapped

    Nope. It will be added when the animations are ready from the design team because nothing happens on that screen beyond the illustrations which is only for educational purposes.

    OmarBasem avatar Feb 21 '24 11:02 OmarBasem