Skip to content
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

Onboarding remove identifiers code and refactor create_or_sync_profile screen #21668

Open
wants to merge 2 commits into
base: develop
Choose a base branch
from

Conversation

Parveshdhull
Copy link
Member

@Parveshdhull Parveshdhull commented Nov 25, 2024

Summary

  • PR Removes unused identifiers screen code
  • Refactors create-or-sync-profile screen and breaks into two different screens (create-profile and log-in)
  • Original issue Refactor onboarding #21650 also had in scope removal of overlay and blur for ios, and was implemented in dc4ad41. But this change needs to discussed, so removed it from final PR.

Testing

Please lightly test onboarding flow to make sure cleanup is not breaking it.

status: ready

@status-im-auto
Copy link
Member

status-im-auto commented Nov 25, 2024

Jenkins Builds

Click to see older builds (51)
Commit #️⃣ Finished (UTC) Duration Platform Result
860e77b #1 2024-11-25 09:01:14 ~44 sec ios 📄log
860e77b #1 2024-11-25 09:01:20 ~54 sec android 📄log
336f1cb #2 2024-11-25 09:02:05 ~26 sec ios 📄log
336f1cb #2 2024-11-25 09:02:21 ~47 sec android 📄log
336f1cb #2 2024-11-25 09:02:21 ~47 sec android-e2e 📄log
336f1cb #2 2024-11-25 09:04:35 ~2 min tests 📄log
cf765f2 #3 2024-12-05 10:28:47 ~31 sec android-e2e 📄log
cf765f2 #3 2024-12-05 10:28:52 ~28 sec ios 📄log
cf765f2 #3 2024-12-05 10:29:01 ~44 sec android 📄log
cf765f2 #3 2024-12-05 10:30:28 ~2 min tests 📄log
e696b3b #4 2024-12-15 08:47:53 ~30 sec ios 📄log
e696b3b #4 2024-12-15 08:47:58 ~35 sec android 📄log
e696b3b #4 2024-12-15 08:47:58 ~35 sec android-e2e 📄log
e696b3b #4 2024-12-15 08:49:36 ~2 min tests 📄log
634b7dd #5 2024-12-15 09:08:55 ~2 min tests 📄log
✔️ 634b7dd #5 2024-12-15 09:13:03 ~7 min ios 📱ipa 📲
✔️ 634b7dd #5 2024-12-15 09:13:14 ~7 min android 🤖apk 📲
✔️ 634b7dd #5 2024-12-15 09:13:50 ~7 min android-e2e 🤖apk 📲
3e06e32 #6 2024-12-15 09:31:57 ~2 min tests 📄log
✔️ 3e06e32 #6 2024-12-15 09:36:05 ~7 min ios 📱ipa 📲
✔️ 3e06e32 #6 2024-12-15 09:37:59 ~9 min android-e2e 🤖apk 📲
✔️ 3e06e32 #6 2024-12-15 09:38:30 ~9 min android 🤖apk 📲
57cad6a #7 2024-12-15 10:11:24 ~2 min tests 📄log
✔️ 57cad6a #7 2024-12-15 10:15:17 ~6 min ios 📱ipa 📲
✔️ 57cad6a #7 2024-12-15 10:17:12 ~8 min android-e2e 🤖apk 📲
✔️ 57cad6a #7 2024-12-15 10:17:48 ~9 min android 🤖apk 📲
✔️ ee780c2 #8 2024-12-15 10:47:50 ~5 min tests 📄log
✔️ 436a8e3 #9 2024-12-15 10:53:13 ~4 min tests 📄log
✔️ 436a8e3 #9 2024-12-15 10:55:35 ~7 min android 🤖apk 📲
✔️ 436a8e3 #9 2024-12-15 10:55:43 ~7 min ios 📱ipa 📲
✔️ 436a8e3 #9 2024-12-15 10:56:28 ~7 min android-e2e 🤖apk 📲
✔️ 2b35b5d #10 2024-12-15 11:06:35 ~5 min tests 📄log
✔️ 2b35b5d #10 2024-12-15 11:08:22 ~6 min ios 📱ipa 📲
✔️ 2b35b5d #10 2024-12-15 11:10:36 ~9 min android-e2e 🤖apk 📲
✔️ 2b35b5d #10 2024-12-15 11:11:10 ~9 min android 🤖apk 📲
dc4ad41 #11 2024-12-19 09:07:56 ~3 min tests 📄log
✔️ dc4ad41 #11 2024-12-19 09:11:45 ~7 min ios 📱ipa 📲
✔️ dc4ad41 #11 2024-12-19 09:13:52 ~9 min android-e2e 🤖apk 📲
✔️ dc4ad41 #11 2024-12-19 09:14:20 ~9 min android 🤖apk 📲
✔️ 1c6e970 #12 2024-12-19 09:53:34 ~4 min tests 📄log
✔️ 1c6e970 #12 2024-12-19 09:55:34 ~6 min ios 📱ipa 📲
✔️ 1c6e970 #12 2024-12-19 09:55:58 ~7 min android 🤖apk 📲
✔️ 1c6e970 #12 2024-12-19 09:56:40 ~8 min android-e2e 🤖apk 📲
✔️ 1e50173 #13 2024-12-19 10:04:34 ~4 min tests 📄log
✔️ 1e50173 #13 2024-12-19 10:07:22 ~7 min ios 📱ipa 📲
✔️ 1e50173 #13 2024-12-19 10:08:06 ~7 min android-e2e 🤖apk 📲
✔️ 1e50173 #13 2024-12-19 10:08:37 ~8 min android 🤖apk 📲
✔️ 063a94c #15 2024-12-20 09:33:54 ~4 min tests 📄log
✔️ 063a94c #15 2024-12-20 09:35:51 ~6 min android-e2e 🤖apk 📲
✔️ 063a94c #15 2024-12-20 09:36:07 ~6 min ios 📱ipa 📲
✔️ 063a94c #15 2024-12-20 09:37:21 ~8 min android 🤖apk 📲
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 85c0511 #16 2024-12-20 10:24:46 ~4 min tests 📄log
✔️ 85c0511 #16 2024-12-20 10:27:32 ~7 min ios 📱ipa 📲
✔️ 85c0511 #16 2024-12-20 10:28:44 ~8 min android-e2e 🤖apk 📲
✔️ 85c0511 #16 2024-12-20 10:29:11 ~8 min android 🤖apk 📲
✔️ 4eb38c7 #17 2024-12-20 12:00:04 ~5 min tests 📄log
✔️ 4eb38c7 #17 2024-12-20 12:01:46 ~6 min ios 📱ipa 📲
✔️ 4eb38c7 #17 2024-12-20 12:04:02 ~9 min android-e2e 🤖apk 📲
✔️ 4eb38c7 #17 2024-12-20 12:04:30 ~9 min android 🤖apk 📲

@Parveshdhull Parveshdhull force-pushed the chore/refactor-onboarding branch from 860e77b to 336f1cb Compare November 25, 2024 09:01
@Parveshdhull Parveshdhull force-pushed the chore/refactor-onboarding branch from 336f1cb to cf765f2 Compare December 5, 2024 10:28
@Parveshdhull Parveshdhull force-pushed the chore/refactor-onboarding branch 8 times, most recently from dc4ad41 to 1c6e970 Compare December 19, 2024 09:48
@Parveshdhull Parveshdhull changed the title [WIP]: Refactor onboarding [WIP]: Onboarding remove identifiers code and refactor create_or_sync_profile screen Dec 19, 2024
@Parveshdhull Parveshdhull force-pushed the chore/refactor-onboarding branch 3 times, most recently from e414922 to 063a94c Compare December 20, 2024 09:28
@Parveshdhull Parveshdhull changed the title [WIP]: Onboarding remove identifiers code and refactor create_or_sync_profile screen Onboarding remove identifiers code and refactor create_or_sync_profile screen Dec 20, 2024
@@ -0,0 +1,101 @@
(ns status-im.contexts.onboarding.create-profile.view
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Refactored the create-or-sync-profile screen and split it into two separate screens:
('Create Profile' and 'Log In - as per figma)

@Parveshdhull Parveshdhull force-pushed the chore/refactor-onboarding branch from 063a94c to 85c0511 Compare December 20, 2024 10:20
@Parveshdhull Parveshdhull marked this pull request as ready for review December 20, 2024 10:49
src/status_im/contexts/onboarding/create_profile/view.cljs Outdated Show resolved Hide resolved
src/status_im/contexts/onboarding/log_in/view.cljs Outdated Show resolved Hide resolved
[utils.i18n :as i18n]
[utils.re-frame :as rf]))

(defn- navigate-to-create-profile-password
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

don we have this in every control ?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you, @flexsurfer, for reviewing the PR.

Are you asking if we need the create-profile-password in both the create-profile and login flows? Yes, we do.

For the create profile flow, we are directly navigating to the create-profile-password screen here. However, for the login flow, navigation to the password screen occurs after the seed phrase is validated.

@status-im-auto
Copy link
Member

38% of end-end tests have passed

Total executed tests: 8
Failed tests: 5
Expected to fail tests: 0
Passed tests: 3
IDs of failed tests: 727230,727231,740490,727229,702843 

Failed tests (5)

Click to expand
  • Rerun failed tests

  • Class TestWalletMultipleDevice:

    1. test_wallet_send_asset_from_drawer, id: 727230
    Test setup failed: critical/test_wallet.py:22: in prepare_devices
        self.drivers, self.loop = create_shared_drivers(2)
    base_test_case.py:330: in create_shared_drivers
        raise e
    base_test_case.py:320: in create_shared_drivers
        test_suite_data.current_test.testruns[-1].jobs[drivers[i].session_id] = i + 1
     '_asyncio.Future' object has no attribute 'session_id'
    



    2. test_wallet_send_eth, id: 727229

    Test setup failed: critical/test_wallet.py:22: in prepare_devices
        self.drivers, self.loop = create_shared_drivers(2)
    base_test_case.py:330: in create_shared_drivers
        raise e
    base_test_case.py:320: in create_shared_drivers
        test_suite_data.current_test.testruns[-1].jobs[drivers[i].session_id] = i + 1
     '_asyncio.Future' object has no attribute 'session_id'
    



    Class TestWalletOneDevice:

    1. test_wallet_add_remove_regular_account, id: 727231

    Test setup failed: critical/test_wallet.py:198: in prepare_devices
        self.drivers, self.loop = create_shared_drivers(1)
    base_test_case.py:330: in create_shared_drivers
        raise e
    base_test_case.py:320: in create_shared_drivers
        test_suite_data.current_test.testruns[-1].jobs[drivers[i].session_id] = i + 1
     '_asyncio.Future' object has no attribute 'session_id'
    



    2. test_wallet_balance_mainnet, id: 740490

    Test setup failed: critical/test_wallet.py:198: in prepare_devices
        self.drivers, self.loop = create_shared_drivers(1)
    base_test_case.py:330: in create_shared_drivers
        raise e
    base_test_case.py:320: in create_shared_drivers
        test_suite_data.current_test.testruns[-1].jobs[drivers[i].session_id] = i + 1
     '_asyncio.Future' object has no attribute 'session_id'
    



    Class TestCommunityMultipleDeviceMerged:

    1. test_community_message_edit, id: 702843

    Device 1: Find AllowButton by xpath: //*[@text="Allow" or @text="ALLOW"]
    Device 1: Click system back button

    Test setup failed: critical/chats/test_public_chat_browsing.py:309: in prepare_devices
        self.loop.run_until_complete(run_in_parallel(((self.device_1.create_user, {'enable_notifications': True}),
    /usr/lib/python3.10/asyncio/base_events.py:649: in run_until_complete
        return future.result()
    __init__.py:52: in run_in_parallel
        returns.append(await k)
    /usr/lib/python3.10/concurrent/futures/thread.py:58: in run
        result = self.fn(*self.args, **self.kwargs)
    ../views/sign_in_view.py:242: in create_user
        self.create_profile_button.click_until_presence_of_element(self.start_fresh_lets_go_button)
    ../views/base_element.py:107: in click_until_presence_of_element
        while not desired_element.is_element_displayed(1) and counter <= attempts:
    ../views/base_element.py:221: in is_element_displayed
        return self.wait_for_visibility_of_element(sec, ignored_exceptions=ignored_exceptions)
    ../views/base_element.py:145: in wait_for_visibility_of_element
        .until(expected_conditions.visibility_of_element_located((self.by, self.locator)))
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/support/wait.py:86: in until
        value = method(self._driver)
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/support/expected_conditions.py:152: in _predicate
        return _element_if_visible(driver.find_element(*locator))
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/appium/webdriver/webdriver.py:409: in find_element
        return self.execute(RemoteCommand.FIND_ELEMENT, {'using': by, 'value': value})['value']
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:345: in execute
        self.error_handler.check_response(response)
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/appium/webdriver/errorhandler.py:122: in check_response
        raise exception_class(msg=message, stacktrace=format_stacktrace(stacktrace))
     error processing request. If this error persists, please contact SauceLabs support.
    



    Device sessions

    Passed tests (3)

    Click to expand

    Class TestCommunityOneDeviceMerged:

    1. test_community_copy_and_paste_message_in_chat_input, id: 702742
    Device sessions

    2. test_restore_multiaccount_with_waku_backup_remove_profile_switch, id: 703133
    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745
    Device sessions

    @mariia-skrypnyk mariia-skrypnyk self-assigned this Dec 20, 2024
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Projects
    Status: IN TESTING
    Development

    Successfully merging this pull request may close these issues.

    5 participants