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

Implement new splash screen in its static version #15058

Merged
merged 1 commit into from
Mar 16, 2023

Conversation

briansztamfater
Copy link
Member

@briansztamfater briansztamfater commented Feb 10, 2023

fixes #15011

Summary

Implement new splash screen in its static version as the animation is not defined yet

iOS

Android

Development notes

For Android, we had to migrate to new Splash Screen API, so the changes were not as simple as I expected. Keeping react-native-lottie-splash-screen library because maybe we will need it, but if not we have to remove it on the following PR when we add animations.

Testing notes

  • Android 12 introduced a new Splash Screen API and impemented it with support for older versions in this PR, so we should test it on devices with Android 12 or greater as well as Android 11 or lower
  • iOS 16 has a bug that makes status bar not respecting its light style on the splash screen, for iOS 15 or lower should respect the status bar style -> https://stackoverflow.com/questions/74255415/ios-16-launch-screen-status-bar-style-cannot-be-changed-to-light-content#comment131100612_74255415 there's a workaround but it implies forcing the same status bar for all the views so it doesn't work for us, we need to be customizable for each view. [EDIT] Actually I tested it on my iOS device and worked fine, so maybe is just an issue with simulators

Platforms

  • Android
  • iOS

Steps to test

  • Open Status
  • That's it :)

status: ready

@status-im-auto
Copy link
Member

status-im-auto commented Feb 10, 2023

Jenkins Builds

Click to see older builds (106)
Commit #️⃣ Finished (UTC) Duration Platform Result
3f1b57e #1 2023-02-10 05:52:46 ~4 min ios 📄log
✔️ 3f1b57e #1 2023-02-10 05:56:19 ~8 min android-e2e 🤖apk 📲
✔️ 3f1b57e #1 2023-02-10 05:57:15 ~9 min android 🤖apk 📲
✔️ 3f1b57e #1 2023-02-10 05:57:43 ~9 min tests 📄log
dc233c9 #2 2023-02-10 18:33:45 ~2 min android-e2e 📄log
dc233c9 #2 2023-02-10 18:33:47 ~2 min android 📄log
✔️ dc233c9 #2 2023-02-10 18:35:02 ~4 min tests 📄log
dc233c9 #2 2023-02-10 18:35:41 ~4 min ios 📄log
fff8c7d #3 2023-02-10 18:41:12 ~1 min android 📄log
fff8c7d #3 2023-02-10 18:41:18 ~2 min android-e2e 📄log
96e144f #4 2023-02-10 18:43:18 ~1 min android-e2e 📄log
96e144f #4 2023-02-10 18:43:28 ~1 min android 📄log
✔️ 96e144f #4 2023-02-10 18:44:28 ~2 min tests 📄log
✔️ 96e144f #4 2023-02-10 18:48:48 ~7 min ios 📱ipa 📲
0d872ac #5 2023-02-10 18:51:39 ~1 min android 📄log
0d872ac #5 2023-02-10 18:51:50 ~1 min android-e2e 📄log
✔️ 0d872ac #5 2023-02-10 18:52:26 ~2 min tests 📄log
✔️ 0d872ac #5 2023-02-10 18:56:54 ~6 min ios 📱ipa 📲
983e4b5 #7 2023-02-10 19:48:04 ~1 min android 📄log
983e4b5 #7 2023-02-10 19:48:14 ~1 min android-e2e 📄log
✔️ 983e4b5 #7 2023-02-10 19:48:43 ~2 min tests 📄log
✔️ 983e4b5 #7 2023-02-10 19:53:21 ~6 min ios 📱ipa 📲
✔️ d1ccb83 #8 2023-02-10 20:44:02 ~2 min tests 📄log
✔️ d1ccb83 #8 2023-02-10 20:48:31 ~6 min ios 📱ipa 📲
✔️ d1ccb83 #8 2023-02-10 20:49:11 ~7 min android-e2e 🤖apk 📲
✔️ d1ccb83 #8 2023-02-10 20:49:18 ~7 min android 🤖apk 📲
✔️ 68e7e96 #9 2023-02-10 21:13:26 ~2 min tests 📄log
✔️ 68e7e96 #9 2023-02-10 21:18:36 ~7 min android-e2e 🤖apk 📲
✔️ 68e7e96 #9 2023-02-10 21:19:28 ~8 min android 🤖apk 📲
✔️ 68e7e96 #9 2023-02-10 22:35:54 ~1 hr 24 min ios 📱ipa 📲
✔️ 28e0199 #11 2023-02-23 12:41:46 ~5 min tests 📄log
✔️ 28e0199 #11 2023-02-23 12:44:43 ~8 min android 🤖apk 📲
✔️ 28e0199 #11 2023-02-23 12:44:57 ~8 min android-e2e 🤖apk 📲
28e0199 #11 2023-02-23 12:55:03 ~18 min ios 📄log
✔️ 8e1b1ae #12 2023-03-03 00:53:47 ~4 min tests 📄log
✔️ 8e1b1ae #12 2023-03-03 00:56:23 ~7 min ios 📱ipa 📲
✔️ 8e1b1ae #12 2023-03-03 00:56:37 ~7 min android 🤖apk 📲
✔️ 8e1b1ae #12 2023-03-03 00:57:21 ~8 min android-e2e 🤖apk 📲
✔️ 9a8b66c #13 2023-03-07 04:20:37 ~4 min tests 📄log
✔️ 9a8b66c #13 2023-03-07 04:23:25 ~7 min android-e2e 🤖apk 📲
✔️ 9a8b66c #13 2023-03-07 04:23:46 ~7 min ios 📱ipa 📲
✔️ 9a8b66c #13 2023-03-07 04:24:52 ~8 min android 🤖apk 📲
✔️ 5b77d66 #14 2023-03-08 14:48:22 ~6 min ios 📱ipa 📲
✔️ 5b77d66 #14 2023-03-08 14:48:48 ~7 min tests 📄log
✔️ 5b77d66 #14 2023-03-08 14:49:48 ~8 min android 🤖apk 📲
✔️ 5b77d66 #14 2023-03-08 14:50:54 ~9 min android-e2e 🤖apk 📲
✔️ e92cdc2 #15 2023-03-13 20:35:40 ~4 min tests 📄log
✔️ e92cdc2 #15 2023-03-13 20:37:59 ~7 min ios 📱ipa 📲
✔️ e92cdc2 #15 2023-03-13 20:39:24 ~8 min android-e2e 🤖apk 📲
✔️ e92cdc2 #15 2023-03-13 20:39:43 ~8 min android 🤖apk 📲
✔️ deb6fa8 #16 2023-03-13 20:51:07 ~4 min tests 📄log
✔️ deb6fa8 #16 2023-03-13 20:53:44 ~7 min ios 📱ipa 📲
✔️ deb6fa8 #16 2023-03-13 20:54:17 ~7 min android 🤖apk 📲
✔️ deb6fa8 #16 2023-03-13 20:54:47 ~8 min android-e2e 🤖apk 📲
✔️ 5219703 #17 2023-03-13 22:23:24 ~4 min tests 📄log
✔️ 5219703 #17 2023-03-13 22:25:36 ~6 min ios 📱ipa 📲
✔️ 5219703 #17 2023-03-13 22:26:39 ~7 min android-e2e 🤖apk 📲
✔️ 5219703 #17 2023-03-13 22:26:53 ~8 min android 🤖apk 📲
✔️ 87ba43a #18 2023-03-14 01:46:18 ~6 min tests 📄log
✔️ 87ba43a #18 2023-03-14 01:47:03 ~6 min ios 📱ipa 📲
87ba43a #18 2023-03-14 01:47:25 ~7 min android 📄log
87ba43a #18 2023-03-14 01:47:27 ~7 min android-e2e 📄log
✔️ 141371b #19 2023-03-14 01:59:24 ~6 min tests 📄log
✔️ 141371b #19 2023-03-14 02:00:03 ~7 min ios 📱ipa 📲
✔️ 141371b #19 2023-03-14 02:00:58 ~7 min android 🤖apk 📲
✔️ 141371b #19 2023-03-14 02:01:23 ~8 min android-e2e 🤖apk 📲
✔️ 6055da3 #20 2023-03-14 14:13:47 ~7 min ios 📱ipa 📲
✔️ 6055da3 #20 2023-03-14 14:14:20 ~7 min tests 📄log
✔️ 6055da3 #20 2023-03-14 14:14:38 ~8 min android-e2e 🤖apk 📲
✔️ 6055da3 #20 2023-03-14 14:15:07 ~8 min android 🤖apk 📲
✔️ dc3d670 #21 2023-03-14 14:38:36 ~5 min tests 📄log
✔️ dc3d670 #21 2023-03-14 14:40:32 ~7 min ios 📱ipa 📲
✔️ dc3d670 #21 2023-03-14 14:40:48 ~7 min android-e2e 🤖apk 📲
✔️ dc3d670 #21 2023-03-14 14:42:01 ~8 min android 🤖apk 📲
25626bf #22 2023-03-14 16:12:39 ~6 min android 📄log
25626bf #22 2023-03-14 16:13:04 ~7 min android-e2e 📄log
✔️ 25626bf #22 2023-03-14 16:14:29 ~8 min tests 📄log
✔️ 25626bf #22 2023-03-14 16:14:53 ~9 min ios 📱ipa 📲
✔️ faed607 #23 2023-03-14 16:24:23 ~6 min tests 📄log
✔️ faed607 #23 2023-03-14 16:25:28 ~7 min ios 📱ipa 📲
✔️ faed607 #23 2023-03-14 16:25:57 ~7 min android 🤖apk 📲
✔️ faed607 #23 2023-03-14 16:26:27 ~8 min android-e2e 🤖apk 📲
✔️ 04d1f96 #24 2023-03-14 20:09:35 ~6 min tests 📄log
✔️ 04d1f96 #24 2023-03-14 20:10:25 ~7 min ios 📱ipa 📲
✔️ 04d1f96 #24 2023-03-14 20:11:47 ~8 min android-e2e 🤖apk 📲
✔️ 04d1f96 #24 2023-03-14 20:12:11 ~9 min android 🤖apk 📲
✔️ bc2672f #25 2023-03-15 12:03:33 ~4 min tests 📄log
✔️ bc2672f #25 2023-03-15 12:06:41 ~7 min ios 📱ipa 📲
✔️ bc2672f #25 2023-03-15 12:07:18 ~7 min android-e2e 🤖apk 📲
✔️ bc2672f #25 2023-03-15 12:08:10 ~8 min android 🤖apk 📲
✔️ 082caf8 #26 2023-03-15 12:38:33 ~4 min tests 📄log
✔️ 082caf8 #26 2023-03-15 12:40:43 ~6 min ios 📱ipa 📲
✔️ 082caf8 #26 2023-03-15 12:41:43 ~7 min android-e2e 🤖apk 📲
✔️ 082caf8 #26 2023-03-15 12:42:23 ~8 min android 🤖apk 📲
✔️ f21a893 #27 2023-03-15 12:58:51 ~4 min tests 📄log
✔️ f21a893 #27 2023-03-15 13:02:09 ~7 min ios 📱ipa 📲
✔️ f21a893 #27 2023-03-15 13:02:53 ~8 min android-e2e 🤖apk 📲
✔️ f21a893 #27 2023-03-15 13:03:09 ~8 min android 🤖apk 📲
✔️ e1634ec #28 2023-03-15 19:19:18 ~5 min tests 📄log
✔️ e1634ec #28 2023-03-15 19:21:16 ~7 min ios 📱ipa 📲
✔️ e1634ec #28 2023-03-15 19:21:55 ~7 min android-e2e 🤖apk 📲
✔️ e1634ec #28 2023-03-15 19:22:05 ~7 min android 🤖apk 📲
✔️ 5528416 #29 2023-03-15 19:38:32 ~5 min tests 📄log
✔️ 5528416 #29 2023-03-15 19:40:25 ~7 min ios 📱ipa 📲
✔️ 5528416 #29 2023-03-15 19:41:47 ~8 min android-e2e 🤖apk 📲
✔️ 5528416 #29 2023-03-15 19:41:57 ~8 min android 🤖apk 📲
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 674b2d4 #31 2023-03-16 15:49:46 ~4 min tests 📄log
✔️ 674b2d4 #31 2023-03-16 15:52:27 ~6 min ios 📱ipa 📲
✔️ 674b2d4 #31 2023-03-16 15:53:37 ~8 min android-e2e 🤖apk 📲
✔️ 674b2d4 #31 2023-03-16 15:53:57 ~8 min android 🤖apk 📲
✔️ 74da82c #33 2023-03-16 16:07:04 ~8 min ios 📱ipa 📲
✔️ 74da82c #33 2023-03-16 16:08:47 ~10 min tests 📄log
✔️ 74da82c #33 2023-03-16 16:10:01 ~11 min android-e2e 🤖apk 📲
✔️ 74da82c #33 2023-03-16 16:10:08 ~11 min android 🤖apk 📲

@flexsurfer
Copy link
Member

hey @briansztamfater are we sure it won't be animated soon? just to do not do double work, also iOS 16 has a bug that makes status bar not respecting is this bag happens only in this PR? where does it came from ?

@briansztamfater
Copy link
Member Author

briansztamfater commented Feb 10, 2023

hey @briansztamfater are we sure it won't be animated soon? just to do not do double work, also iOS 16 has a bug that makes status bar not respecting is this bag happens only in this PR? where does it came from ?

Hey @flexsurfer we are unsure when / how will it be animated, but either way since Android 12 forces a new Splash Screen API that shows before the other one that we currently have and that also supports animations, it is necessary to do some changes on our implementation and migrate it. https://developer.android.com/develop/ui/views/launch/splash-screen
For iOS 16 here's the issue -> https://stackoverflow.com/questions/74255415/ios-16-launch-screen-status-bar-style-cannot-be-changed-to-light-content#comment131100612_74255415 there's a workaround but it implies forcing the same status bar for all the views so it doesn't work for us, we need to be customizable for each view. [EDIT] Actually I tested it on my iOS device and worked fine, so maybe is an issue with simulators

@briansztamfater briansztamfater changed the title [WIP] Implement new splash screen in its static version Implement new splash screen in its static version Feb 13, 2023
@briansztamfater briansztamfater marked this pull request as ready for review February 13, 2023 13:54
@briansztamfater briansztamfater force-pushed the feat/onboarding-splash-static branch 2 times, most recently from 72f217b to 28e0199 Compare February 23, 2023 12:36
@status-github-bot status-github-bot bot moved this from REVIEW to TO REBASE in Pipeline for QA Feb 28, 2023
@J-Son89 J-Son89 mentioned this pull request Mar 3, 2023
Copy link
Member

@flexsurfer flexsurfer left a comment

Choose a reason for hiding this comment

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

i don't seeorg.devio.rn.splashscreen.SplashScreen removed from the deps

@briansztamfater
Copy link
Member Author

i don't seeorg.devio.rn.splashscreen.SplashScreen removed from the deps

@flexsurfer that package is part of react-native-lottie-splash-screen (which is a fork of react-native-splash-screen), for some reason the library is used in iOS (native side) but I feel it is unnecessary now, not sure if it is safe to remove it but I can raise a follow up PR to remove that library if you agree. There's no org.devio.rn.splashscreen dependency at all in gradle.

Copy link
Member

@jakubgs jakubgs left a comment

Choose a reason for hiding this comment

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

If you are just changing Gradle/Node/Gem dependencies by changing data files like deps.json there is no need to include me in the PR.

Include me if you are changing actual Nix derivations or scripts. Not just a JSON file.

@pavloburykh
Copy link
Contributor

@briansztamfater hi! Could you please rebase the PR and move it to E2E column if it is ready for testing? Thank you!

@flexsurfer
Copy link
Member

btw i like our current animated version, dunno why we want to change it cc @pedro-et @xAlisher

@pedro-et
Copy link

pedro-et commented Mar 8, 2023

@flexsurfer that is just a placeholder for now as we are undergoing a small polish to the status brand so it will have to change before release

@briansztamfater
Copy link
Member Author

briansztamfater commented Mar 14, 2023

@briansztamfater kindly, rebase PR to the latest develop. Currently it is 24 commits behind it. Thanx!

Done ✅

@status-im-auto
Copy link
Member

90% of end-end tests have passed

Total executed tests: 31
Failed tests: 3
Passed tests: 28
IDs of failed tests: 702947,702775,702838 

Failed tests (3)

Click to expand
  • Rerun failed tests

  • Class TestActivityMultipleDevicePR:

    1. test_activity_center_reply_read_unread_delete_filter, id: 702947

    Device 1: Find `Button` by `accessibility id`: `notification-swipe`
    Device 1: Tap on found: Button

    medium/test_activity_center.py:317: in test_activity_center_reply_read_unread_delete_filter
        self.errors.verify_no_errors()
    base_test_case.py:184: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     New message counter badge is not 1, it is 1!
    



    Device sessions

    Class TestDeeplinkOneDeviceNewUI:

    1. test_deep_link_open_user_profile, id: 702775

    Device 1: Tap on found: SignInButton
    ## Signed in successfully!

    medium/test_deeplink_chat_share_profile.py:394: in test_deep_link_open_user_profile
        chat.wait_for_element_starts_with_text(ens_user['username'])
    ../views/base_view.py:465: in wait_for_element_starts_with_text
        return element.wait_for_element(wait_time)
    ../views/base_element.py:117: in wait_for_element
        raise TimeoutException(
     Device `1`: `Button` by` xpath`: `//*[starts-with(@text,'Legal Vibrant Indianabat')]` is not found on the screen after wait_for_element 
    

    [[Profile is often not opened in e2e builds for some reason. Needs to be investigated.]]

    Device sessions

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_message_send_check_timestamps_sender_username, id: 702838

    Device 2: Verifying that 'hello' is under today
    Device 2: Looking for a message by text: hello

    critical/test_public_chat_browsing.py:411: in test_community_message_send_check_timestamps_sender_username
        channel.verify_message_is_under_today_text(message, self.errors)
    ../views/chat_view.py:900: in verify_message_is_under_today_text
        message_element.wait_for_visibility_of_element()
    ../views/base_element.py:135: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: ChatElementByText by xpath:`//*[starts-with(@text,'hello')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']` is not found on the screen after wait_for_visibility_of_element 
    

    [[blocked by 14797]]

    Device sessions

    Passed tests (28)

    Click to expand

    Class TestActivityCenterContactRequestMultipleDevicePR:

    1. test_activity_center_contact_request_cancel_outgoing_no_pn, id: 702871
    Device sessions

    2. test_activity_center_contact_request_accept, id: 702851
    Device sessions

    3. test_activity_center_contact_request_decline, id: 702850
    Device sessions

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_mentions_push_notification, id: 702786
    Device sessions

    2. test_community_emoji_send_copy_paste_reply, id: 702840
    Device sessions

    3. test_community_contact_block_unblock_offline, id: 702894
    Device sessions

    4. test_community_leave, id: 702845
    Device sessions

    5. test_community_message_edit, id: 702843
    Device sessions

    6. test_community_links_with_previews_github_youtube_twitter_gif_send_enable, id: 702844
    Device sessions

    7. test_community_message_delete, id: 702839
    Device sessions

    8. test_community_unread_messages_badge, id: 702841
    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_delete_via_long_press_relogin, id: 702784
    Device sessions

    2. test_1_1_chat_push_emoji, id: 702813
    Device sessions

    3. test_1_1_chat_pin_messages, id: 702731
    Device sessions

    4. test_1_1_chat_is_shown_message_sent_delivered_from_offline, id: 702783
    Device sessions

    5. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745
    Device sessions

    6. test_1_1_chat_emoji_send_reply_and_open_link, id: 702782
    Device sessions

    7. test_1_1_chat_message_reaction, id: 702730
    Device sessions

    8. test_1_1_chat_text_message_delete_push_disappear, id: 702733
    Device sessions

    9. test_1_1_chat_edit_message, id: 702855
    Device sessions

    Class TestCommunityOneDeviceMerged:

    1. test_community_copy_and_paste_message_in_chat_input, id: 702742
    Device sessions

    2. test_community_navigate_to_channel_when_relaunch, id: 702846
    Device sessions

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_pin_messages, id: 702732
    Device sessions

    2. test_group_chat_offline_pn, id: 702808
    Device sessions

    3. test_group_chat_join_send_text_messages_push, id: 702807
    Device sessions

    Class TestActivityMultipleDevicePR:

    1. test_navigation_jump_to, id: 702936
    Device sessions

    Class TestDeeplinkOneDeviceNewUI:

    1. test_deep_link_with_invalid_user_public_key_own_profile_key, id: 702774
    Device sessions

    2. test_public_chat_open_using_deep_link, id: 702776
    Device sessions

    @flexsurfer
    Copy link
    Member

    hey @briansztamfater thank you, just want to make sure, does that mean current splash screen will have same issues ?

    @pavloburykh
    Copy link
    Contributor

    @briansztamfater thanx for the fixes. Please take a look at a few more issues:

    Still reproducing ISSUE 4 (Dark screen is shown after splash screen when reopening app) on Huawei P20 light, android 9

    At the same time this issue has gone for Samsung Galaxy A52, Android 12 and Huawei P40 Lite EMUI 12, Android 10

    telegram-cloud-document-2-5229232384934684612.mp4

    @pavloburykh
    Copy link
    Contributor

    ISSUE 5 Light stripe in the bottom of the splash screen when light mode is enabled on IOS

    Tested on iPhone X, IOS 14.1; iPhone SE, IOS 16.1.1; iPhone 11 Pro Max, IOS 16.3.1

    telegram-cloud-document-2-5226510342036663728.mp4

    @pavloburykh
    Copy link
    Contributor

    ISSUE 6 Light status bar on splash screen when light theme mode is enabled (Huawei P40 Lite EMUI 12, Android 10)

    photo_2023-03-15 12 41 40

    @briansztamfater
    Copy link
    Member Author

    briansztamfater commented Mar 15, 2023

    @pavloburykh I increased the delay on the splash screen which should fix the blank screen on Huawei P20 light with Android 9, also although I couldn't reproduce the other two issues, I think I found the problems and pushed a fix. Let me know how testing goes on those.

    @pavloburykh
    Copy link
    Contributor

    thanx @briansztamfater ! ISSUE 4 and ISSUE 5 are fixed.

    ISSUE 6 is still reproducible, I think this issue can be addressed in separate PR in order not to block current one.

    Regarding increased delay:

    I should admit that increasing delay to current level makes splash screen displaying for too long time on Android devices (see video below) and I am not sure If this is an optimal solution for us.

    telegram-cloud-document-2-5228762141850347976.mp4

    If there is no other solution I guess we will have to put up with ISSUE 4 but decrease delay to some more optimal and acceptable level.

    @status-im-auto
    Copy link
    Member

    18% of end-end tests have passed

    Total executed tests: 22
    Failed tests: 18
    Passed tests: 4
    Not executed tests: 9
    
    IDs of not executed tests: 702730,702782,702731,702745,702813,702855,702733,702783,702784 
    
    IDs of failed tests: 702947,702732,702936,702786,702840,702894,702871,702775,702845,702838,702843,702851,702844,702808,702839,702807,702850,702841 
    

    Not executed tests (9)

    Click to expand
  • Rerun not executed tests
  • Failed tests (18)

    Click to expand
  • Rerun failed tests

  • Class TestDeeplinkOneDeviceNewUI:

    1. test_deep_link_open_user_profile, id: 702775

    Device 1: Tap on found: SignInButton
    ## Signed in successfully!

    medium/test_deeplink_chat_share_profile.py:394: in test_deep_link_open_user_profile
        chat.wait_for_element_starts_with_text(ens_user['username'])
    ../views/base_view.py:465: in wait_for_element_starts_with_text
        return element.wait_for_element(wait_time)
    ../views/base_element.py:117: in wait_for_element
        raise TimeoutException(
     Device `1`: `Button` by` xpath`: `//*[starts-with(@text,'Legal Vibrant Indianabat')]` is not found on the screen after wait_for_element 
    

    [[Profile is often not opened in e2e builds for some reason. Needs to be investigated.]]

    Device sessions

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_mentions_push_notification, id: 702786

    Test setup failed: critical/test_public_chat_browsing.py:357: in prepare_devices
        self.drivers, self.loop = create_shared_drivers(2)
     cannot unpack non-iterable NoneType object
    



    2. test_community_emoji_send_copy_paste_reply, id: 702840

    Test setup failed: critical/test_public_chat_browsing.py:357: in prepare_devices
        self.drivers, self.loop = create_shared_drivers(2)
     cannot unpack non-iterable NoneType object
    



    3. test_community_contact_block_unblock_offline, id: 702894

    Test setup failed: critical/test_public_chat_browsing.py:357: in prepare_devices
        self.drivers, self.loop = create_shared_drivers(2)
     cannot unpack non-iterable NoneType object
    



    4. test_community_leave, id: 702845

    Test setup failed: critical/test_public_chat_browsing.py:357: in prepare_devices
        self.drivers, self.loop = create_shared_drivers(2)
     cannot unpack non-iterable NoneType object
    



    5. test_community_message_send_check_timestamps_sender_username, id: 702838

    Test setup failed: critical/test_public_chat_browsing.py:357: in prepare_devices
        self.drivers, self.loop = create_shared_drivers(2)
     cannot unpack non-iterable NoneType object 
    

    [[blocked by 14797]]

    6. test_community_message_edit, id: 702843

    Test setup failed: critical/test_public_chat_browsing.py:357: in prepare_devices
        self.drivers, self.loop = create_shared_drivers(2)
     cannot unpack non-iterable NoneType object
    



    7. test_community_links_with_previews_github_youtube_twitter_gif_send_enable, id: 702844

    Test setup failed: critical/test_public_chat_browsing.py:357: in prepare_devices
        self.drivers, self.loop = create_shared_drivers(2)
     cannot unpack non-iterable NoneType object
    



    8. test_community_message_delete, id: 702839

    Test setup failed: critical/test_public_chat_browsing.py:357: in prepare_devices
        self.drivers, self.loop = create_shared_drivers(2)
     cannot unpack non-iterable NoneType object
    



    9. test_community_unread_messages_badge, id: 702841

    Test setup failed: critical/test_public_chat_browsing.py:357: in prepare_devices
        self.drivers, self.loop = create_shared_drivers(2)
     cannot unpack non-iterable NoneType object
    



    Class TestActivityCenterContactRequestMultipleDevicePR:

    1. test_activity_center_contact_request_cancel_outgoing_no_pn, id: 702871

    Device 1: Find ChatsTab by accessibility id: chats-stack-tab
    Device 1: Tap on found: ChatsTab

    medium/test_activity_center.py:130: in test_activity_center_contact_request_cancel_outgoing_no_pn
        self.errors.verify_no_errors()
    base_test_case.py:184: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Unread indicator on contacts tab or on activity center is not shown for outgoing CR!
    



    Device sessions

    2. test_activity_center_contact_request_accept, id: 702851

    Device 1: Find Button by xpath: //*[contains(@text, 'Orderly Kaleidoscopic Jac')]/ancestor::*[@content-desc='activity']/*[@content-desc="accept-contact-request"]
    Device 1: Find Button by accessibility id: close-activity-center

    medium/test_activity_center.py:162: in test_activity_center_contact_request_accept
        self.home_1.handle_contact_request(username=self.default_username_2)
    ../views/home_view.py:309: in handle_contact_request
        self.close_activity_centre.click()
    ../views/base_element.py:91: in click
        self.find_element().click()
    ../views/base_element.py:80: in find_element
        raise NoSuchElementException(
     Device 1: Button by accessibility id: `close-activity-center` is not found on the screen
    



    Device sessions

    3. test_activity_center_contact_request_decline, id: 702850

    Device 1: Find Button by xpath: //*[contains(@text, 'Orderly Kaleidoscopic Jac')]/ancestor::*[@content-desc='activity']/*[@content-desc="decline-contact-request"]
    Device 1: Find Button by accessibility id: close-activity-center

    medium/test_activity_center.py:148: in test_activity_center_contact_request_decline
        self.home_1.handle_contact_request(username=self.default_username_2, action='decline')
    ../views/home_view.py:309: in handle_contact_request
        self.close_activity_centre.click()
    ../views/base_element.py:91: in click
        self.find_element().click()
    ../views/base_element.py:80: in find_element
        raise NoSuchElementException(
     Device 1: Button by accessibility id: `close-activity-center` is not found on the screen
    



    Device sessions

    Class TestActivityMultipleDevicePR:

    1. test_activity_center_reply_read_unread_delete_filter, id: 702947

    Test setup failed: medium/test_activity_center.py:197: in prepare_devices
        self.home_2.handle_contact_request(self.default_username_1)
    ../views/home_view.py:309: in handle_contact_request
        self.close_activity_centre.click()
    ../views/base_element.py:91: in click
        self.find_element().click()
    ../views/base_element.py:80: in find_element
        raise NoSuchElementException(
     Device 2: Button by accessibility id: `close-activity-center` is not found on the screen
    



    2. test_navigation_jump_to, id: 702936

    Device 2: Find Button by xpath: //*[contains(@text, 'Equatorial Whispered Emu')]/ancestor::*[@content-desc='activity']/*[@content-desc="accept-contact-request"]
    Device 2: Find Button by accessibility id: close-activity-center

    Test setup failed: medium/test_activity_center.py:197: in prepare_devices
        self.home_2.handle_contact_request(self.default_username_1)
    ../views/home_view.py:309: in handle_contact_request
        self.close_activity_centre.click()
    ../views/base_element.py:91: in click
        self.find_element().click()
    ../views/base_element.py:80: in find_element
        raise NoSuchElementException(
     Device 2: Button by accessibility id: `close-activity-center` is not found on the screen
    



    Device sessions

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_pin_messages, id: 702732

    Test setup failed: critical/chats/test_group_chat.py:195: in prepare_devices
        self.loop.run_until_complete(
    /usr/lib/python3.10/asyncio/base_events.py:646: in run_until_complete
        return future.result()
    __init__.py:35: 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/home_view.py:309: in handle_contact_request
        self.close_activity_centre.click()
    ../views/base_element.py:91: in click
        self.find_element().click()
    ../views/base_element.py:80: in find_element
        raise NoSuchElementException(
     Device 2: Button by accessibility id: `close-activity-center` is not found on the screen
    



    2. test_group_chat_offline_pn, id: 702808

    Test setup failed: critical/chats/test_group_chat.py:195: in prepare_devices
        self.loop.run_until_complete(
    /usr/lib/python3.10/asyncio/base_events.py:646: in run_until_complete
        return future.result()
    __init__.py:35: 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/home_view.py:309: in handle_contact_request
        self.close_activity_centre.click()
    ../views/base_element.py:91: in click
        self.find_element().click()
    ../views/base_element.py:80: in find_element
        raise NoSuchElementException(
     Device 2: Button by accessibility id: `close-activity-center` is not found on the screen
    



    3. test_group_chat_join_send_text_messages_push, id: 702807

    Device 3: Find Button by accessibility id: close-activity-center
    Device 2: Find Button by accessibility id: close-activity-center

    Test setup failed: critical/chats/test_group_chat.py:195: in prepare_devices
        self.loop.run_until_complete(
    /usr/lib/python3.10/asyncio/base_events.py:646: in run_until_complete
        return future.result()
    __init__.py:35: 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/home_view.py:309: in handle_contact_request
        self.close_activity_centre.click()
    ../views/base_element.py:91: in click
        self.find_element().click()
    ../views/base_element.py:80: in find_element
        raise NoSuchElementException(
     Device 2: Button by accessibility id: `close-activity-center` is not found on the screen
    



    Device sessions

    Passed tests (4)

    Click to expand

    Class TestDeeplinkOneDeviceNewUI:

    1. test_deep_link_with_invalid_user_public_key_own_profile_key, id: 702774
    Device sessions

    2. test_public_chat_open_using_deep_link, id: 702776
    Device sessions

    Class TestCommunityOneDeviceMerged:

    1. test_community_copy_and_paste_message_in_chat_input, id: 702742
    Device sessions

    2. test_community_navigate_to_channel_when_relaunch, id: 702846
    Device sessions

    @briansztamfater
    Copy link
    Member Author

    thanx @briansztamfater ! ISSUE 4 and ISSUE 5 are fixed.

    ISSUE 6 is still reproducible, I think this issue can be addressed in separate PR in order not to block current one.

    Regarding increased delay:

    I should admit that increasing delay to current level makes splash screen displaying for too long time on Android devices (see video below) and I am not sure If this is an optimal solution for us.

    If there is no other solution I guess we will have to put up with ISSUE 4 but decrease delay to some more optimal and acceptable level.

    I totally agree regarding the delay, if it is okay with the previous value I can revert it to that delay value for the time being until we are able to apply the optimal fix which depends on this PR being merged in our navigation library wix/react-native-navigation#7586 . We should create an issue to track this.
    For issue 6, I'll try to find the correct emulator to reproduce it and see if I can fix it.

    @pavloburykh
    Copy link
    Contributor

    if it is okay with the previous value I can revert it to that delay value

    Thanx @briansztamfater !
    By previous value you mean before of after this commit

    Because I have just checked this build https://status-im-mobile-prs.ams3.cdn.digitaloceanspaces.com/StatusIm-Mobile-230314-200310-04d1f9-pr15058-universal.apk once again and delay still seems to be too long, though it fixed ISSUE 4 for Samsung Galaxy A52, Android 12 and Huawei P40 Lite EMUI 12, Android 10

    telegram-cloud-document-2-5228762141850348296.mp4

    @briansztamfater
    Copy link
    Member Author

    briansztamfater commented Mar 15, 2023

    if it is okay with the previous value I can revert it to that delay value

    Thanx @briansztamfater ! By previous value you mean before of after this commit

    Because I have just checked this build https://status-im-mobile-prs.ams3.cdn.digitaloceanspaces.com/StatusIm-Mobile-230314-200310-04d1f9-pr15058-universal.apk once again and delay still seems to be too long, though it fixed ISSUE 4 for Samsung Galaxy A52, Android 12 and Huawei P40 Lite EMUI 12, Android 10

    Based on your videos I reduced it to 3.2 seconds, still considerable amount but maybe acceptable for some devices. Either way is just an arbitrary value and is temporal until we do it the proper way, which would hide the splash when the first screen is loaded depending on the loading time. Also when we add animations this will feel smother, and we will have a Splash implementation with the proper native API on Android.

    @briansztamfater
    Copy link
    Member Author

    briansztamfater commented Mar 15, 2023

    I've just tested our production app from the stores and for me it is showing two Splash screens, the Android 12 splash screen which is currently empty and shown forcedly by the OS, and then the custom animated one that is shown immediately after. Hence that's why is important to use the proper native API for the Splash Screen, even more because it supports animations natively now.

    @briansztamfater
    Copy link
    Member Author

    Issue 6 should be fixed in latest build also, I was able to reproduce in a custom emulator and not happening anymore on the latest build

    @status-im-auto
    Copy link
    Member

    94% of end-end tests have passed

    Total executed tests: 31
    Failed tests: 2
    Passed tests: 29
    
    IDs of failed tests: 702775,702838 
    

    Failed tests (2)

    Click to expand
  • Rerun failed tests

  • Class TestDeeplinkOneDeviceNewUI:

    1. test_deep_link_open_user_profile, id: 702775

    Device 1: Tap on found: SignInButton
    ## Signed in successfully!

    medium/test_deeplink_chat_share_profile.py:394: in test_deep_link_open_user_profile
        chat.wait_for_element_starts_with_text(ens_user['username'])
    ../views/base_view.py:465: in wait_for_element_starts_with_text
        return element.wait_for_element(wait_time)
    ../views/base_element.py:117: in wait_for_element
        raise TimeoutException(
     Device `1`: `Button` by` xpath`: `//*[starts-with(@text,'Legal Vibrant Indianabat')]` is not found on the screen after wait_for_element 
    

    [[Profile is often not opened in e2e builds for some reason. Needs to be investigated.]]

    Device sessions

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_message_send_check_timestamps_sender_username, id: 702838

    Device 2: Verifying that 'hello' is under today
    Device 2: Looking for a message by text: hello

    critical/test_public_chat_browsing.py:411: in test_community_message_send_check_timestamps_sender_username
        channel.verify_message_is_under_today_text(message, self.errors)
    ../views/chat_view.py:900: in verify_message_is_under_today_text
        message_element.wait_for_visibility_of_element()
    ../views/base_element.py:135: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: ChatElementByText by xpath:`//*[starts-with(@text,'hello')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']` is not found on the screen after wait_for_visibility_of_element 
    

    [[blocked by 14797]]

    Device sessions

    Passed tests (29)

    Click to expand

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_mentions_push_notification, id: 702786
    Device sessions

    2. test_community_emoji_send_copy_paste_reply, id: 702840
    Device sessions

    3. test_community_contact_block_unblock_offline, id: 702894
    Device sessions

    4. test_community_leave, id: 702845
    Device sessions

    5. test_community_message_edit, id: 702843
    Device sessions

    6. test_community_links_with_previews_github_youtube_twitter_gif_send_enable, id: 702844
    Device sessions

    7. test_community_message_delete, id: 702839
    Device sessions

    8. test_community_unread_messages_badge, id: 702841
    Device sessions

    Class TestCommunityOneDeviceMerged:

    1. test_community_copy_and_paste_message_in_chat_input, id: 702742
    Device sessions

    2. test_community_navigate_to_channel_when_relaunch, id: 702846
    Device sessions

    Class TestDeeplinkOneDeviceNewUI:

    1. test_deep_link_with_invalid_user_public_key_own_profile_key, id: 702774
    Device sessions

    2. test_public_chat_open_using_deep_link, id: 702776
    Device sessions

    Class TestActivityCenterContactRequestMultipleDevicePR:

    1. test_activity_center_contact_request_cancel_outgoing_no_pn, id: 702871
    Device sessions

    2. test_activity_center_contact_request_accept, id: 702851
    Device sessions

    3. test_activity_center_contact_request_decline, id: 702850
    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_delete_via_long_press_relogin, id: 702784
    Device sessions

    2. test_1_1_chat_push_emoji, id: 702813
    Device sessions

    3. test_1_1_chat_pin_messages, id: 702731
    Device sessions

    4. test_1_1_chat_is_shown_message_sent_delivered_from_offline, id: 702783
    Device sessions

    5. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745
    Device sessions

    6. test_1_1_chat_emoji_send_reply_and_open_link, id: 702782
    Device sessions

    7. test_1_1_chat_message_reaction, id: 702730
    Device sessions

    8. test_1_1_chat_text_message_delete_push_disappear, id: 702733
    Device sessions

    9. test_1_1_chat_edit_message, id: 702855
    Device sessions

    Class TestActivityMultipleDevicePR:

    1. test_activity_center_reply_read_unread_delete_filter, id: 702947
    Device sessions

    2. test_navigation_jump_to, id: 702936
    Device sessions

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_pin_messages, id: 702732
    Device sessions

    2. test_group_chat_offline_pn, id: 702808
    Device sessions

    3. test_group_chat_join_send_text_messages_push, id: 702807
    Device sessions

    @pavloburykh
    Copy link
    Contributor

    pavloburykh commented Mar 16, 2023

    @briansztamfater thank you for the fixes. PR is ready to be merged.

    1. Current delay time of 3.2 seconds seems to be optimal and acceptable
    2. ISSUE 6 is fixed
    3. ISSUE 4 remained to be fixed for Samsung Galaxy A52, Android 12 and Huawei P40 Lite EMUI 12, Android 10. Though it has appeared again on slow Huawei P20 light, android 9 (see video below) but it is acceptable for now as optimising delay value has more priority.
    telegram-cloud-document-2-5228811229031574029.mp4

    @pavloburykh pavloburykh moved this from IN TESTING to MERGE in Pipeline for QA Mar 16, 2023
    @briansztamfater briansztamfater force-pushed the feat/onboarding-splash-static branch 3 times, most recently from 674b2d4 to 739d82c Compare March 16, 2023 15:56
    Signed-off-by: Brian Sztamfater <brian@status.im>
    @briansztamfater briansztamfater merged commit 74da82c into develop Mar 16, 2023
    Pipeline for QA automation moved this from MERGE to DONE Mar 16, 2023
    @briansztamfater briansztamfater deleted the feat/onboarding-splash-static branch March 16, 2023 16:09
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Projects
    Archived in project
    Development

    Successfully merging this pull request may close these issues.

    OnBoarding - Implement new splash screen
    7 participants