status-im / status-mobile

a free (libre) open source, mobile OS for Ethereum
https://status.app
Mozilla Public License 2.0
3.91k stars 984 forks source link

fix Error when creating an account on e2e build #21496

Closed Parveshdhull closed 1 month ago

Parveshdhull commented 1 month ago

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

Summary

Navigate to next screen once onboarding animation and account creation both are complete.

Note: If account creation fails, user will get stuck on loading screen.

Testing

Needs to adjust tests as per https://github.com/status-im/status-mobile/pull/21471

status: ready

status-im-auto commented 1 month ago

Jenkins Builds

Click to see older builds (6) | :grey_question: | Commit | :hash: | Finished (UTC) | Duration | Platform | Result | |-|-|-|-|-|-|-| | :heavy_check_mark: | 1bab8f03 | [#1](https://ci.status.im/job/status-mobile/job/prs/job/tests/job/PR-21496/1/) | 2024-10-24 09:54:35 | ~4 min | `tests` | [:page_facing_up:`log`](https://status-im-mobile-prs.ams3.cdn.digitaloceanspaces.com/StatusIm-Mobile-241024-095004-1bab8f-pr21496-tests.log) | | :heavy_check_mark: | 1bab8f03 | [#1](https://ci.status.im/job/status-mobile/job/prs/job/android-e2e/job/PR-21496/1/) | 2024-10-24 09:58:14 | ~8 min | `android-e2e` | [:robot:`apk`](https://status-im-mobile-prs.ams3.cdn.digitaloceanspaces.com/StatusIm-Mobile-241024-094959-1bab8f-pr21496-x86_64.apk) [:calling:](https://chart.apis.google.com/chart?cht=qr&chs=400x400&chld=L%7C%0A1&chl=https%3A%2F%2Fstatus-im-mobile-prs.ams3.cdn.digitaloceanspaces.com%2FStatusIm-Mobile-241024-094959-1bab8f-pr21496-x86_64.apk)| | :heavy_check_mark: | 1bab8f03 | [#1](https://ci.status.im/job/status-mobile/job/prs/job/android/job/PR-21496/1/) | 2024-10-24 09:58:46 | ~8 min | `android` | [:robot:`apk`](https://status-im-mobile-prs.ams3.cdn.digitaloceanspaces.com/StatusIm-Mobile-241024-094959-1bab8f-pr21496-arm64-v8a.apk) [:calling:](https://chart.apis.google.com/chart?cht=qr&chs=400x400&chld=L%7C%0A1&chl=https%3A%2F%2Fstatus-im-mobile-prs.ams3.cdn.digitaloceanspaces.com%2FStatusIm-Mobile-241024-094959-1bab8f-pr21496-arm64-v8a.apk)| | :heavy_check_mark: | 1bab8f03 | [#1](https://ci.status.im/job/status-mobile/job/prs/job/ios/job/PR-21496/1/) | 2024-10-24 09:59:44 | ~9 min | `ios` | [:iphone:`ipa`](https://i.diawi.com/su6naz) [:calling:](https://chart.apis.google.com/chart?cht=qr&chs=400x400&chld=L%7C%0A1&chl=https%3A%2F%2Fi.diawi.com%2Fsu6naz)| | | | | | | | | | :heavy_check_mark: | 9bfcc576 | [#3](https://ci.status.im/job/status-mobile/job/prs/job/tests/job/PR-21496/3/) | 2024-10-24 13:38:58 | ~5 min | `tests` | [:page_facing_up:`log`](https://status-im-mobile-prs.ams3.cdn.digitaloceanspaces.com/StatusIm-Mobile-241024-133341-9bfcc5-pr21496-tests.log) | | :heavy_check_mark: | 9bfcc576 | [#3](https://ci.status.im/job/status-mobile/job/prs/job/android-e2e/job/PR-21496/3/) | 2024-10-24 13:41:05 | ~7 min | `android-e2e` | [:robot:`apk`](https://status-im-mobile-prs.ams3.cdn.digitaloceanspaces.com/StatusIm-Mobile-241024-133341-9bfcc5-pr21496-x86_64.apk) [:calling:](https://chart.apis.google.com/chart?cht=qr&chs=400x400&chld=L%7C%0A1&chl=https%3A%2F%2Fstatus-im-mobile-prs.ams3.cdn.digitaloceanspaces.com%2FStatusIm-Mobile-241024-133341-9bfcc5-pr21496-x86_64.apk)|
:grey_question: Commit :hash: Finished (UTC) Duration Platform Result
:heavy_check_mark: 143c3c49 #4 2024-10-24 13:46:34 ~5 min tests :page_facing_up:log
:heavy_check_mark: 143c3c49 #4 2024-10-24 13:47:37 ~6 min android-e2e :robot:apk :calling:
:heavy_check_mark: 143c3c49 #4 2024-10-24 13:50:13 ~9 min android :robot:apk :calling:
:heavy_check_mark: 143c3c49 #4 2024-10-24 13:51:15 ~10 min ios :iphone:ipa :calling:
:heavy_check_mark: 57825dcf #5 2024-10-28 19:17:48 ~4 min tests :page_facing_up:log
:heavy_check_mark: 57825dcf #5 2024-10-28 19:21:13 ~8 min android :robot:apk :calling:
:heavy_check_mark: 57825dcf #5 2024-10-28 19:22:13 ~9 min android-e2e :robot:apk :calling:
:heavy_check_mark: 57825dcf #5 2024-10-28 19:22:32 ~9 min ios :iphone:ipa :calling:
status-im-auto commented 1 month ago

75% of end-end tests have passed

Total executed tests: 8
Failed tests: 2
Expected to fail tests: 0
Passed tests: 6
IDs of failed tests: 703133,702843 

Failed tests (2)

Click to expand
  • Rerun failed tests

  • Class TestCommunityMultipleDeviceMerged:

    1. test_community_message_edit, id: 702843

    Device 2: Find `Text` by `xpath`: `//android.view.ViewGroup[@content-desc='chat-item']//android.widget.TextView[contains(@text,'https://status.app/c/')]`
    Device 2: Wait for element `Button` for max 120s and click when it is available

    ``` Test setup failed: critical/chats/test_public_chat_browsing.py:350: in prepare_devices self.community_2.join_community() ../views/chat_view.py:420: in join_community self.join_button.wait_and_click(120) ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element ```

    Device sessions

    Class TestCommunityOneDeviceMerged:

    1. test_restore_multiaccount_with_waku_backup_remove_switch, id: 703133

    # STEP: Check that removed user is not shown in the list anymore
    Device 1: Wait for element `Button` for max 30s and click when it is available

    ``` critical/chats/test_public_chat_browsing.py:240: in test_restore_multiaccount_with_waku_backup_remove_switch self.sign_in.show_profiles_button.wait_and_click() ../views/base_element.py:100: in wait_and_click self.wait_for_visibility_of_element(sec) ../views/base_element.py:147: in wait_for_visibility_of_element raise TimeoutException( Device 1: Button by accessibility id:`show-profiles` is not found on the screen after wait_for_visibility_of_element ```

    Device sessions

    Passed tests (6)

    Click to expand

    Class TestWalletMultipleDevice:

    1. test_wallet_send_asset_from_drawer, id: 727230
    2. test_wallet_send_eth, id: 727229

    Class TestCommunityOneDeviceMerged:

    1. test_community_copy_and_paste_message_in_chat_input, id: 702742
    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745
    Device sessions

    Class TestWalletOneDevice:

    1. test_wallet_add_remove_regular_account, id: 727231
    2. test_wallet_balance_mainnet, id: 740490
    Parveshdhull commented 1 month ago

    Hi! If we improve our onboarding process, we might also consider improving the animation delay. Here’s how the onboarding currently looks on my emulator with and without the animation delay. (probably more faster on some devices)

    https://github.com/user-attachments/assets/4938968f-ca9f-4951-91be-affe1d57333c

    cc: @ilmotta @churik @flexsurfer

    Parveshdhull commented 1 month ago

    By the way, this isn’t critical, but I just wanted to raise this point. To me, It seems a bit inconsistent that in some areas we’re focused on saving milliseconds for performance, while in others we’re introducing delays of few seconds.

    ilmotta commented 1 month ago

    By the way, this isn’t critical, but I just wanted to raise this point. To me, It seems a bit inconsistent that in some areas we’re focused on saving milliseconds for performance, while in others we’re introducing delays of few seconds.

    I took note of your feedback @Parveshdhull to consider in the mini-epic to simplify onboarding for the 2.32 release. There are still some details to align with designers and PL.

    churik commented 1 month ago

    So I made 5 rounds of e2e in https://github.com/status-im/status-mobile/pull/21471 - I didn't face this issue.

    And no regression from the PR as well.

    I tested briefly account creation and sync on IOS - it works. We should merge and cherry pick this to the release branch, exceptional work @Parveshdhull - thank you!

    churik commented 1 month ago

    this PR closes https://github.com/status-im/status-mobile/issues/21151 as well (hopefully!!!)