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

feat: add identifiers screen to onboarding-flow #15684

Merged
merged 1 commit into from
Apr 27, 2023
Merged

Conversation

J-Son89
Copy link
Contributor

@J-Son89 J-Son89 commented Apr 18, 2023

fixes: #15548

How it looks
Screenshot 2023-04-18 at 20 24 03

To test: create a new account and go through the onboarding flows.

Please note, the designs have a feature which highlights each identifier as the respective description is shown on the carousel. This will be added in a follow up as pr was already quite large.

Additionally, I found a separate issue where the profile ring identifier is not working correctly, I will create a separate issue for this as it is a common problem across the application wherever we are using user_avatar.

@@ -34,21 +31,21 @@
paused)))

(defn initialize-animation
[]
[progress paused]
Copy link
Contributor Author

Choose a reason for hiding this comment

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

refactored carousel so we can use it on any page now 👍

Copy link
Member

Choose a reason for hiding this comment

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

I don't see much benefit in doing this. This complicates stuff instead of simplifying and not sure we even have several slide animations like this in the app. I would recommend just-copy pasting the carousel code and modifying it for your use case.

Copy link
Contributor

Choose a reason for hiding this comment

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

Generally speaking I think what @J-Son89 did is the correct move. We should avoid global state outside components. It's a common discussion I've seen in many other PRs, perhaps a guideline should added.

Copy link
Member

Choose a reason for hiding this comment

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

It's a common discussion I've seen in many other PRs, perhaps a guideline should added

Maybe we create a file with name general recommendations and suggestions and move some of the stuff there (the guideline sounds a little strong)

Having local atoms is either always not feasible or sometimes makes things complicated and/or creates problems. As in this case, the problems it creates or might create are mentioned in detail in the below comment and original implementation.

I agree with you, components should have a local state. Still, we have several global atoms because they are simpler(and sometimes better) solutions.

Copy link
Member

Choose a reason for hiding this comment

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

Probably @J-Son89 will find a solution for using a local atom in this case and solve the all above-mentioned problem, But is it worth the time he will spend in the process?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes I will explore if it's possible to use a local solution. In the case that it works out it then means we have a reusable carousel component.
In which case the effort is then worth it as it can be used on any future screens.
Currently there are already 2(afaik), so it would be better than copy/pasting code when majority of this can be shared across these components, imo at least 90% (animation set-up/code, styling etc) of this can be reused without it being complicated 👍

Copy link
Contributor

Choose a reason for hiding this comment

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

Good points @Parveshdhull, some recommendations might be too strong sometimes.

Copy link
Contributor Author

@J-Son89 J-Son89 Apr 24, 2023

Choose a reason for hiding this comment

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

So I got this working, For the background I made use of global atoms however I put these in the background file as these are the backgrounds carousel atoms. For the Identifiers page I used local atoms. Everything else remains pure functions then so the underlying functionality is completely reusable.
Basically if a page now wants to use a carousel it has to handle the setup, i.e ratoms etc and then initialise and render the carousel.

@status-im-auto
Copy link
Member

status-im-auto commented Apr 18, 2023

Jenkins Builds

Click to see older builds (33)
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 5cb306c #1 2023-04-18 19:32:22 ~5 min android-e2e 🤖apk 📲
✔️ 5cb306c #1 2023-04-18 19:33:19 ~6 min android 🤖apk 📲
✔️ 5cb306c #1 2023-04-18 19:33:36 ~6 min tests 📄log
✔️ 5cb306c #1 2023-04-18 19:34:15 ~7 min ios 📱ipa 📲
✔️ 984ee14 #3 2023-04-18 19:42:09 ~5 min android 🤖apk 📲
✔️ 984ee14 #3 2023-04-18 19:42:23 ~5 min android-e2e 🤖apk 📲
✔️ 984ee14 #3 2023-04-18 19:42:43 ~6 min tests 📄log
✔️ 984ee14 #3 2023-04-18 19:43:24 ~6 min ios 📱ipa 📲
✔️ 7568e63 #4 2023-04-24 10:55:26 ~5 min android-e2e 🤖apk 📲
✔️ 7568e63 #4 2023-04-24 10:55:33 ~5 min android 🤖apk 📲
✔️ 7568e63 #4 2023-04-24 10:55:40 ~5 min tests 📄log
✔️ 7568e63 #4 2023-04-24 10:56:27 ~6 min ios 📱ipa 📲
40faa4f #5 2023-04-24 22:01:25 ~3 min tests 📄log
✔️ 40faa4f #5 2023-04-24 22:03:35 ~5 min android-e2e 🤖apk 📲
✔️ 40faa4f #5 2023-04-24 22:03:39 ~5 min android 🤖apk 📲
✔️ 40faa4f #5 2023-04-24 22:04:20 ~6 min ios 📱ipa 📲
81490c6 #6 2023-04-24 22:56:17 ~2 min tests 📄log
✔️ b8f9e26 #7 2023-04-24 23:03:34 ~5 min android-e2e 🤖apk 📲
✔️ b8f9e26 #7 2023-04-24 23:04:03 ~5 min tests 📄log
✔️ b8f9e26 #7 2023-04-24 23:04:04 ~5 min android 🤖apk 📲
✔️ b8f9e26 #7 2023-04-24 23:04:32 ~6 min ios 📱ipa 📲
✔️ 1502399 #8 2023-04-25 10:22:25 ~5 min tests 📄log
✔️ 1502399 #8 2023-04-25 10:22:56 ~6 min android 🤖apk 📲
✔️ 1502399 #8 2023-04-25 10:22:57 ~6 min android-e2e 🤖apk 📲
✔️ 1502399 #8 2023-04-25 10:23:36 ~7 min ios 📱ipa 📲
✔️ d2cfd4f #9 2023-04-25 21:04:45 ~5 min android-e2e 🤖apk 📲
✔️ d2cfd4f #9 2023-04-25 21:05:51 ~6 min android 🤖apk 📲
✔️ d2cfd4f #9 2023-04-25 21:06:08 ~6 min tests 📄log
✔️ d2cfd4f #9 2023-04-25 21:06:14 ~6 min ios 📱ipa 📲
✔️ 78c5ca0 #11 2023-04-26 07:52:23 ~5 min android 🤖apk 📲
✔️ 78c5ca0 #11 2023-04-26 07:53:08 ~6 min android-e2e 🤖apk 📲
✔️ 78c5ca0 #11 2023-04-26 07:53:14 ~6 min ios 📱ipa 📲
✔️ 78c5ca0 #11 2023-04-26 07:53:40 ~6 min tests 📄log
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 5fa570d #12 2023-04-26 12:31:06 ~44 min ios 📱ipa 📲
✔️ 5fa570d #12 2023-04-26 12:39:13 ~5 min android 🤖apk 📲
✔️ 5fa570d #13 2023-04-26 12:39:21 ~6 min android-e2e 🤖apk 📲
✔️ 5fa570d #12 2023-04-26 12:42:04 ~7 min tests 📄log
✔️ 5fa570d #13 2023-04-26 15:08:31 ~7 min tests 📄log
✔️ 6a831ad #13 2023-04-27 04:22:34 ~6 min ios 📱ipa 📲
✔️ 6a831ad #14 2023-04-27 04:23:20 ~6 min tests 📄log
✔️ 6a831ad #13 2023-04-27 04:24:54 ~8 min android 🤖apk 📲
✔️ 6a831ad #14 2023-04-27 04:25:00 ~8 min android-e2e 🤖apk 📲

@J-Son89 J-Son89 force-pushed the jc/refactor-carousel branch 2 times, most recently from 8c6e994 to 984ee14 Compare April 18, 2023 19:36
@J-Son89 J-Son89 requested a review from churik as a code owner April 18, 2023 19:36
@@ -222,6 +223,7 @@ def create_user(self, password=common_password, keycard=False, enable_notificati
# self.create_password_input.set_value(password)
# self.confirm_your_password_input.set_value(password)
# self.next_button.click()
self.identifiers_button.wait_and_click(30)
Copy link
Contributor Author

Choose a reason for hiding this comment

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

@churik, let me know if this is all that's needed for the tests

@status-im-auto
Copy link
Member

62% of end-end tests have passed

Total executed tests: 29
Failed tests: 11
Passed tests: 18
IDs of failed tests: 702733,702855,702745,702730,702782,702783,702850,702731,702838,702813,702784 

Failed tests (11)

Click to expand
  • Rerun failed tests

  • Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_text_message_delete_push_disappear, id: 702733

    # STEP: Verify Device1 can not edit and delete received message from Device2
    Device 2: Sending message 'smth I should edit'

    critical/chats/test_1_1_public_chats.py:1220: in test_1_1_chat_text_message_delete_push_disappear
        self.chat_2.send_message(message_after_edit_1_1)
    ../views/chat_view.py:933: in send_message
        self.chat_message_input.wait_for_element(wait_chat_input_sec)
    ../views/base_element.py:117: in wait_for_element
        raise TimeoutException(
     Device `2`: `ChatMessageInput` by` accessibility id`: `chat-message-input` is not found on the screen after wait_for_element
    



    Device sessions

    2. test_1_1_chat_edit_message, id: 702855

    # STEP: Device 1 sends text message and edits it in 1-1 chat. Device2 checks edited message is shown
    Device 2: Sending message 'Message before edit 1-1'

    critical/chats/test_1_1_public_chats.py:1200: in test_1_1_chat_edit_message
        self.chat_2.send_message(message_before_edit_1_1)
    ../views/chat_view.py:933: in send_message
        self.chat_message_input.wait_for_element(wait_chat_input_sec)
    ../views/base_element.py:117: in wait_for_element
        raise TimeoutException(
     Device `2`: `ChatMessageInput` by` accessibility id`: `chat-message-input` is not found on the screen after wait_for_element
    



    Device sessions

    3. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745

    Device 1: Click until ChatMessageInput by accessibility id: chat-message-input will be presented
    Device 2: Sending message 'hello'

    critical/chats/test_1_1_public_chats.py:1112: in test_1_1_chat_non_latin_messages_stack_update_profile_photo
        [self.chat_2.send_message(message) for message in messages]
    critical/chats/test_1_1_public_chats.py:1112: in <listcomp>
        [self.chat_2.send_message(message) for message in messages]
    ../views/chat_view.py:933: in send_message
        self.chat_message_input.wait_for_element(wait_chat_input_sec)
    ../views/base_element.py:117: in wait_for_element
        raise TimeoutException(
     Device `2`: `ChatMessageInput` by` accessibility id`: `chat-message-input` is not found on the screen after wait_for_element
    



    Device sessions

    4. test_1_1_chat_message_reaction, id: 702730

    Device 2: Wait for text element EmojisNumber to be equal to 1
    Device 2: Find EmojisNumber by xpath: //*[starts-with(@text,'Message sender')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']/../..//*[@content-desc='emoji-reaction-2']/android.widget.TextView

    critical/chats/test_1_1_public_chats.py:951: in test_1_1_chat_message_reaction
        message_receiver.emojis_below_message().wait_for_element_text(1, 90)
    ../views/base_element.py:152: in wait_for_element_text
        text_element = self.find_element().text
    ../views/base_element.py:80: in find_element
        raise NoSuchElementException(
     Device 2: EmojisNumber by xpath: `//*[starts-with(@text,'Message sender')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']/../..//*[@content-desc='emoji-reaction-2']/android.widget.TextView` is not found on the screen
    



    Device sessions

    5. test_1_1_chat_emoji_send_reply_and_open_link, id: 702782

    Device 1: Tap on found: SendMessageButton
    Device 2: Looking for a message by text: Test with link: https://status.im/ here should be nothing unusual.

    critical/chats/test_1_1_public_chats.py:995: in test_1_1_chat_emoji_send_reply_and_open_link
        self.chat_2.chat_element_by_text(url_message).wait_for_element(20)
    ../views/base_element.py:117: in wait_for_element
        raise TimeoutException(
     Device `2`: `ChatElementByText` by` xpath`: `//*[starts-with(@text,'Test with link: https://status.im/ here should be nothing unusual.')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']` is not found on the screen after wait_for_element
    



    Device sessions

    6. test_1_1_chat_is_shown_message_sent_delivered_from_offline, id: 702783

    # STEP: Device2 checks "Sending" status when sending message from offline
    Device 2: Sending message 'test message'

    critical/chats/test_1_1_public_chats.py:1284: in test_1_1_chat_is_shown_message_sent_delivered_from_offline
        self.chat_2.send_message(message_1)
    ../views/chat_view.py:933: in send_message
        self.chat_message_input.wait_for_element(wait_chat_input_sec)
    ../views/base_element.py:117: in wait_for_element
        raise TimeoutException(
     Device `2`: `ChatMessageInput` by` accessibility id`: `chat-message-input` is not found on the screen after wait_for_element
    



    Device sessions

    7. test_1_1_chat_pin_messages, id: 702731

    Device 2: Looking for a message by text: Message 2
    Device 2: Find ChatElementByText by xpath: //*[starts-with(@text,'Message 2')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']

    critical/chats/test_1_1_public_chats.py:1022: in test_1_1_chat_pin_messages
        self.chat_2.pin_message(self.message_2, 'pin-to-chat')
    ../views/chat_view.py:947: in pin_message
        self.chat_element_by_text(message).long_press_until_element_is_shown(element)
    ../views/base_element.py:298: in long_press_until_element_is_shown
        element = self.find_element()
    ../views/chat_view.py:134: in find_element
        self.wait_for_visibility_of_element(20)
    ../views/base_element.py:135: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: ChatElementByText by xpath:`//*[starts-with(@text,'Message 2')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']` is not found on the screen after wait_for_visibility_of_element
    



    Device sessions

    8. test_1_1_chat_push_emoji, id: 702813

    Device 2: Could not reach ChatsTab element by pressing back
    Device 2: Find ChatsTab by accessibility id: chats-stack-tab

    critical/chats/test_1_1_public_chats.py:1146: in test_1_1_chat_push_emoji
        self.home_2.profile_button.click()
    ../views/base_view.py:141: in click
        ChatsTab(self.driver).click()
    ../views/base_element.py:91: in click
        self.find_element().click()
    ../views/base_element.py:80: in find_element
        raise NoSuchElementException(
     Device 2: ChatsTab by accessibility id: `chats-stack-tab` is not found on the screen
    



    Device sessions

    9. test_1_1_chat_delete_via_long_press_relogin, id: 702784

    Device 2: Could not reach ChatsTab element by pressing back
    Device 2: Find ChatsTab by accessibility id: chats-stack-tab

    critical/chats/test_1_1_public_chats.py:1311: in test_1_1_chat_delete_via_long_press_relogin
        self.home_2.chats_tab.click()
    ../views/base_element.py:91: in click
        self.find_element().click()
    ../views/base_element.py:80: in find_element
        raise NoSuchElementException(
     Device 2: ChatsTab by accessibility id: `chats-stack-tab` is not found on the screen
    



    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:418: in test_community_message_send_check_timestamps_sender_username
        channel.verify_message_is_under_today_text(message, self.errors)
    ../views/chat_view.py:923: 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

    Class TestActivityCenterContactRequestMultipleDevicePR:

    1. test_activity_center_contact_request_decline, id: 702850

    Device 2: Find Button by accessibility id: tab-recent
    Device 2: Tap on found: Button

    medium/test_activity_center.py:142: in test_activity_center_contact_request_decline
        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))]))
     Username is not shown on 'Add contact' page after entering valid public key 
    

    [[Blocked by 15500]]

    Device sessions

    Passed tests (18)

    Click to expand

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_emoji_send_copy_paste_reply, id: 702840
    Device sessions

    2. test_community_links_with_previews_github_youtube_twitter_gif_send_enable, id: 702844
    Device sessions

    3. test_community_mentions_push_notification, id: 702786
    Device sessions

    4. test_community_contact_block_unblock_offline, id: 702894
    Device sessions

    5. test_community_leave, id: 702845
    Device sessions

    6. test_community_unread_messages_badge, id: 702841
    Device sessions

    7. test_community_message_delete, id: 702839
    Device sessions

    8. test_community_message_edit, id: 702843
    Device sessions

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_pin_messages, id: 702732
    Device sessions

    2. test_group_chat_join_send_text_messages_push, id: 702807
    Device sessions

    3. test_group_chat_offline_pn, id: 702808
    Device sessions

    Class TestActivityMultipleDevicePR:

    1. test_activity_center_reply_read_unread_delete_filter_swipe, id: 702947
    Device sessions

    2. test_activity_center_admin_notification_accept_swipe, id: 702958
    Device sessions

    3. test_navigation_jump_to, id: 702936
    Device sessions

    4. test_activity_center_mentions, id: 702957
    Device sessions

    Class TestActivityCenterContactRequestMultipleDevicePR:

    1. test_activity_center_contact_request_accept_swipe_mark_all_as_read, id: 702851
    Device sessions

    Class TestCommunityOneDeviceMerged:

    1. test_community_navigate_to_channel_when_relaunch, id: 702846
    Device sessions

    2. test_community_copy_and_paste_message_in_chat_input, id: 702742
    Device sessions

    @J-Son89 J-Son89 requested a review from ajayesivan April 18, 2023 20:52
    (defn background-image
    [content-width]
    [rn/image
    {:style {:resize-mode :stretch
    Copy link
    Contributor

    Choose a reason for hiding this comment

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

    This should be in style file, right?

    Copy link
    Member

    Choose a reason for hiding this comment

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

    if its small its fine to have it here


    (def card-style
    {:margin-horizontal 20
    :margin-bottom :auto})
    Copy link
    Contributor

    Choose a reason for hiding this comment

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

    File should end with a new line, right?

    Copy link
    Contributor

    Choose a reason for hiding this comment

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

    @ajayesivan, this one ends with a newline character. I know, it's confusing, but having a newline character is different than having an extra empty newline.

    This SO is very useful https://stackoverflow.com/questions/729692/why-should-text-files-end-with-a-newline

    Because that’s how the POSIX standard defines a line https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206:

    3.206 Line
    A sequence of zero or more non- characters plus a terminating character.

    Therefore, lines not ending in a newline character aren't considered actual lines. That's why some programs have problems processing the last line of a file if it isn't newline terminated.

    {:accessibility-label :skip-identifiers
    :on-press #(rf/dispatch [:navigate-to :enable-notifications])
    :override-background-color colors/white-opa-5
    :style {:justify-self :flex-end
    Copy link
    Contributor

    Choose a reason for hiding this comment

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

    Move styles to style file.

    Copy link
    Contributor Author

    Choose a reason for hiding this comment

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

    thanks Ajay! done!

    :override-background-color colors/white-opa-5
    :style {:justify-self :flex-end
    :margin-bottom 46
    :margin-horizontal 20}} (i18n/label :t/skip)]]]]))]))
    Copy link
    Contributor

    Choose a reason for hiding this comment

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

    newline?

    Copy link
    Contributor

    Choose a reason for hiding this comment

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

    Good catch, it's in the style guide https://guide.clojure.style/#vertically-align-fn-args.

    Copy link
    Contributor Author

    Choose a reason for hiding this comment

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

    every time 😓

    {:flex 1})

    (def content-container
    {:position :absolute
    Copy link
    Contributor

    Choose a reason for hiding this comment

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

    Any particular reason for using absolute position & top instead of going with flexbox?

    Copy link
    Contributor Author

    Choose a reason for hiding this comment

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

    here it's because it's just working with the view component for carousel. I can try refactor so it always sits below the carousel component. This was just a faster approach to get it set up


    (def content-container
    {:position :absolute
    :width "100%"
    Copy link
    Member

    Choose a reason for hiding this comment

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

    redundant :width "100%"

    Copy link
    Member

    Choose a reason for hiding this comment

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

    :right 0 should be used instead

    paused (reagent/atom nil)]
    [:f>
    (fn []
    (carousel.animation/initialize-animation progress paused)
    Copy link
    Member

    Choose a reason for hiding this comment

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

    why do we still want to init-animation? without animate? condition cc @Parveshdhull

    Copy link
    Member

    Choose a reason for hiding this comment

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

    Yes, we should not do that. Now all the screen will have their own animations.

    Copy link
    Contributor Author

    Choose a reason for hiding this comment

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

    this was just a misstep, have put this back in 👍

    (carousel.animation/initialize-animation progress paused)
    (fn []
    [:<>
    [background/view true]
    Copy link
    Member

    Choose a reason for hiding this comment

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

    This looks weird, background also has carousel and this screen also adds it.

    Copy link
    Contributor Author

    Choose a reason for hiding this comment

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

    yes but this is how the page is expected to be, i.e the onboarding background uses the carousel and this page also uses a carousel and the onboarding background :)

    Comment on lines 31 to 33
    (let [view-id (rf/sub [:view-id])
    progress (reagent/atom nil)
    paused (reagent/atom nil)]
    Copy link
    Member

    Choose a reason for hiding this comment

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

    Hi @J-Son89, Having view-id, progress and paused in background file itself will not work.

    1. Carousel will not keep its animated state, on navigation it will reinitialize. I just tried PR and on going back from "I am new to status" screen animations starts from 0
    2. Screen with dark-overlay should not be animated #15534
    3. Even though other screens have dark-overlay and not animated, they should be at same progress as parent.

    Copy link
    Contributor Author

    Choose a reason for hiding this comment

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

    Yep, a slight oversight in my initial commit. It should be addressed now. 👍

    [quo2.core :as quo]
    [quo2.foundations.colors :as colors]
    [reagent.core :as reagent]

    Copy link
    Contributor

    Choose a reason for hiding this comment

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

    Empty line

    :index index
    :header-text header-text
    :header-background header-background
    } (when content [content (* 4 window-width)])])]
    Copy link
    Contributor

    Choose a reason for hiding this comment

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

    Missing line break between } and (when and joining the } with the previous line.

    [view-id]))
    (rn/use-effect
    (fn []
    (when animate?
    Copy link
    Contributor

    Choose a reason for hiding this comment

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

    Just double-checking, but the effect wont' re-run if animate? changes, since it's not passed as a dependency to the vector. Is that what you intend?

    Copy link
    Contributor Author

    @J-Son89 J-Son89 Apr 19, 2023

    Choose a reason for hiding this comment

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

    yes, previously it had

    (when animate?
    (rn/use-effect
            (fn [] ... )))
    
    

    but this looks dangerous to me as hooks should not be conditionally called. React will break if one render has a different number of hooks called then the previous render and so other issues like this.

    So I thought this was a safer option

    Copy link
    Contributor

    Choose a reason for hiding this comment

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

    hooks should not be conditionally called

    100%

    My comment was more related to the fact that if animate? changes, the hook won't rerun and it can be a source of a subtle bug. If animate? becomes false, the paused state won't be re-set. But I was just double-checking if it was your intention or not. Thanks!

    Copy link
    Contributor Author

    Choose a reason for hiding this comment

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

    ok gotcha, yes in this case it was intentional. I wanted the hook to retrigger on view-id changing because it's supposed to pause/ unpause whenever it gets to the right page. I adjusted it slightly in my latest commit but it's similar

    :override-background-color colors/white-opa-5
    :style {:justify-self :flex-end
    :margin-bottom 46
    :margin-horizontal 20}} (i18n/label :t/skip)]]]]))]))
    Copy link
    Contributor

    Choose a reason for hiding this comment

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

    Good catch, it's in the style guide https://guide.clojure.style/#vertically-align-fn-args.

    @@ -34,21 +31,21 @@
    paused)))

    (defn initialize-animation
    []
    [progress paused]
    Copy link
    Contributor

    Choose a reason for hiding this comment

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

    Generally speaking I think what @J-Son89 did is the correct move. We should avoid global state outside components. It's a common discussion I've seen in many other PRs, perhaps a guideline should added.

    @ilmotta
    Copy link
    Contributor

    ilmotta commented Apr 19, 2023

    @J-Son89, I don't know if you're aware, but if I press the hardware back button in this new Identifiers screen, it goes back to the "Generating keys" screen and stays there forever, broken. Then I have to close and open the app again, but at this point the account was already created and I can no longer go over the onboarding flow.

    I'm almost sure this is not a problem of your PR, but I think it's a serious UX bug nonetheless.

    @J-Son89
    Copy link
    Contributor Author

    J-Son89 commented Apr 19, 2023

    @J-Son89, I don't know if you're aware, but if I press the hardware back button in this new Identifiers screen, it goes back to the "Generating keys" screen and stays there forever, broken. Then I have to close and open the app again, but at this point the account was already created and I can no longer go over the onboarding flow.

    I'm almost sure this is not a problem of your PR, but I think it's a serious UX bug nonetheless.

    hmm, I think it's possible to disable this in navigation. I'm so ios focused I forget about simple Android things like this :)

    I will check and see if I can include it

    @J-Son89
    Copy link
    Contributor Author

    J-Son89 commented Apr 24, 2023

    @pavloburykh issues 2 & 3 should be address, however I'm curious if you can try issue 1 again.

    I added in some code to clean up the animations after they're used so hopefully if that was the issue then this would address it.
    Also we recently discovered how to use React functional components correctly so I adjusted the identifiers screen to the new approach and hopefully that will also make an improvement here.

    I checked on an emulator and it seemed to have an improvement but will be interesting to see on a real device.

    @status-im-auto
    Copy link
    Member

    90% of end-end tests have passed

    Total executed tests: 29
    Failed tests: 3
    Passed tests: 26
    
    IDs of failed tests: 702838,702742,702850 
    

    Failed tests (3)

    Click to expand
  • Rerun failed tests

  • Class TestActivityCenterContactRequestMultipleDevicePR:

    1. test_activity_center_contact_request_decline, id: 702850

    Device 2: Find `Button` by `accessibility id`: `tab-recent`
    Device 2: Tap on found: Button

    medium/test_activity_center.py:142: in test_activity_center_contact_request_decline
        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))]))
     Username is not shown on 'Add contact' page after entering valid public key 
    

    [[Blocked by 15500]]

    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:418: in test_community_message_send_check_timestamps_sender_username
        channel.verify_message_is_under_today_text(message, self.errors)
    ../views/chat_view.py:923: 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

    Class TestCommunityOneDeviceMerged:

    1. test_community_copy_and_paste_message_in_chat_input, id: 702742

    Device 1: Find ChatMessageInput by accessibility id: chat-message-input
    Device 1: Clear text in ChatMessageInput

    critical/test_public_chat_browsing.py:352: in test_community_copy_and_paste_message_in_chat_input
        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))]))
     Message mmmeowesage_text text was not copied in community channel
    E    Message https://status.im text was not copied in community channel
    



    Device sessions

    Passed tests (26)

    Click to expand

    Class TestCommunityOneDeviceMerged:

    1. test_community_navigate_to_channel_when_relaunch, id: 702846
    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 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_activity_center_admin_notification_accept_swipe, id: 702958
    Device sessions

    2. test_activity_center_mentions, id: 702957
    Device sessions

    3. test_navigation_jump_to, id: 702936
    Device sessions

    4. test_activity_center_reply_read_unread_delete_filter_swipe, id: 702947
    Device sessions

    Class TestActivityCenterContactRequestMultipleDevicePR:

    1. test_activity_center_contact_request_accept_swipe_mark_all_as_read, id: 702851
    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

    @pavloburykh
    Copy link
    Contributor

    pavloburykh commented Apr 25, 2023

    @pavloburykh issues 2 & 3 should be address, however I'm curious if you can try issue 1 again.

    Thanx @J-Son89! Issues 1 and 2 are fixed, but still reproducing ISSUE 3. Could you please take another look at it?

    Also, could you please clarify your comment regarding ring identifier:

    Additionally, I found a separate issue where the profile ring identifier is not working correctly, I will create a separate issue for this as it is a common problem across the application wherever we are using user_avatar.

    1. Currently profile ring identifier is not displayed within identifiers screens regardless of whether the profile picture is set or not. Is this related to the issue you mentioned earlier, or is it a separate bug that needs to be addressed within the current PR?

    photo_2023-04-25 11 58 26

    1. Should profile ring identifier be displayed within identifiers screens in case if profile picture has not been set on previous step? Asking, cause it is not clear from current designs as they only show the state when the profile picture is set. I guess, it should be displayed regardless of whether the profile picture has been set or not, based on logical reasoning.

    photo_2023-04-25 11 58 28

    @Parveshdhull Parveshdhull self-requested a review April 25, 2023 07:45
    @J-Son89
    Copy link
    Contributor Author

    J-Son89 commented Apr 25, 2023

    @pavloburykh issues 2 & 3 should be address, however I'm curious if you can try issue 1 again.

    Thanx @J-Son89! Issues 1 and 2 are fixed, but still reproducing ISSUE 3. Could you please take another look at it?

    Also, could you please clarify your comment regarding ring identifier:

    Additionally, I found a separate issue where the profile ring identifier is not working correctly, I will create a separate issue for this as it is a common problem across the application wherever we are using user_avatar.

    1. Currently profile ring identifier is not displayed within identifiers screens regardless of whether the profile picture is set or not. Is this related to the issue you mentioned earlier, or is it a separate bug that needs to be addressed within the current PR?

    photo_2023-04-25 11 58 26

    1. Should profile ring identifier be displayed within identifiers screens in case if profile picture has not been set on previous step? Asking, cause it is not clear from current designs as they only show the state when the profile picture is set. I guess, it should be displayed regardless of whether the profile picture has been set or not, based on logical reasoning.

    photo_2023-04-25 11 58 28

    Thanks @pavloburykh!
    I will look into that issue and see if I can address.

    Yes you are correct 1 - the identifier should be showing for a profile picture. This is a mistake related to this pr.

    2 - the identifier should also be showing if the user does not set a profile picture, it should show their initials and their identifier however there is an issue as I described which we need to address to get the identifier correctly. I will create this issue but first needs to discuss how to implement it etc with some other devs.
    The designs don't show the variant with no profile picture and identifier ring however this screen is all about showing the user their identifiers and the text is highlighting that identifier so it makes sense to show the ring identifier with/without a profile picture.

    Comment on lines 30 to 31
    (defonce progress (reagent/atom nil))
    (defonce paused (reagent/atom nil))
    Copy link
    Member

    Choose a reason for hiding this comment

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

    why reagent atom?

    Copy link
    Contributor Author

    Choose a reason for hiding this comment

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

    this is my clojurescript newbness :) should I just use a standard atom here? 🤔

    Copy link
    Member

    Choose a reason for hiding this comment

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

    Updates to the shared value already get updated in view with the help of reanimated, so we don't need to take care of that. Also resetting the reagent atom will force update the view, so better to just use the standard atom here.

    Copy link
    Contributor Author

    Choose a reason for hiding this comment

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

    thanks @Parveshdhull! Should I do the same on the Identifiers page?

    Copy link
    Member

    @Parveshdhull Parveshdhull Apr 25, 2023

    Choose a reason for hiding this comment

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

    yes please

    Comment on lines +43 to +47
    (defn cleanup-animation
    [progress paused]
    (fn []
    (reanimated/cancel-animation @progress)
    (reanimated/cancel-animation @paused)))
    Copy link
    Member

    Choose a reason for hiding this comment

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

    just curious, why we need this?

    Copy link
    Contributor Author

    @J-Son89 J-Son89 Apr 25, 2023

    Choose a reason for hiding this comment

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

    QA found some performance issues on the Identifiers screens and afterwards when in the application (as a result of this pr). I figure we want to clear these animations after onboarding because they are not being used.
    Adding this and refactoring the functional components to the new implementation seemed to address the issue so not 100% sure of which is needed.
    Is there any reason we should not cleanup the animations after we are done with them?

    Copy link
    Member

    Choose a reason for hiding this comment

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

    Is there any reason we should not cleanup the animations after we are done with them?

    If it fixes the issue, there is no harm :)
    Just a little curious, because as we have seen in the past once the view gets destroyed animation also stopped.
    Example: #15522

    @pavloburykh
    Copy link
    Contributor

    @J-Son89 thanx, ISSUE 3 is fixed now.

    Yes you are correct 1 - the identifier should be showing for a profile picture. This is a mistake related to this pr.

    Got it. Will wait for this fix, please ping me up when it will be ready for testing.

    @J-Son89 J-Son89 force-pushed the jc/refactor-carousel branch 3 times, most recently from 11b5061 to 78c5ca0 Compare April 26, 2023 07:46
    @J-Son89
    Copy link
    Contributor Author

    J-Son89 commented Apr 26, 2023

    @pavloburykh the identity ring will now show if the profile picture is set 👍

    @J-Son89
    Copy link
    Contributor Author

    J-Son89 commented Apr 26, 2023

    also @pavloburykh I have created these follow up issues

    Ensure user avatar shows Identicon ring when no profile picture is set
    #15751

    Adjust Identifiers page to do highlighting as shown in designs
    #15752

    @status-im-auto
    Copy link
    Member

    0% of end-end tests have passed

    Total executed tests: 25
    Failed tests: 25
    Passed tests: 0
    Not executed tests: 4
    
    IDs of not executed tests: 702846,702742,702850,702851 
    
    IDs of failed tests: 702807,702732,702783,702745,702841,702733,702936,702855,702844,702731,702838,702843,702839,702957,702958,702730,702947,702784,702813,702808,702786,702840,702782,702894,702845 
    

    Not executed tests (4)

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

    Click to expand
  • Rerun failed tests

  • Class TestCommunityMultipleDeviceMerged:

    1. test_community_unread_messages_badge, id: 702841
    Test setup failed: critical/test_public_chat_browsing.py:362: 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:646: in run_until_complete
        return future.result()
    __init__.py:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen
    



    2. test_community_links_with_previews_github_youtube_twitter_gif_send_enable, id: 702844

    Test setup failed: critical/test_public_chat_browsing.py:362: 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:646: in run_until_complete
        return future.result()
    __init__.py:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen
    



    3. test_community_message_send_check_timestamps_sender_username, id: 702838

    Device 1: Button element not found
    Device 1: Find Button by accessibility id: welcome-button

    Test setup failed: critical/test_public_chat_browsing.py:362: 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:646: in run_until_complete
        return future.result()
    __init__.py:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen 
    

    [[blocked by 14797]]

    Device sessions

    4. test_community_message_edit, id: 702843

    Test setup failed: critical/test_public_chat_browsing.py:362: 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:646: in run_until_complete
        return future.result()
    __init__.py:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen
    



    5. test_community_message_delete, id: 702839

    Test setup failed: critical/test_public_chat_browsing.py:362: 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:646: in run_until_complete
        return future.result()
    __init__.py:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen
    



    6. test_community_mentions_push_notification, id: 702786

    Test setup failed: critical/test_public_chat_browsing.py:362: 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:646: in run_until_complete
        return future.result()
    __init__.py:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen
    



    7. test_community_emoji_send_copy_paste_reply, id: 702840

    Test setup failed: critical/test_public_chat_browsing.py:362: 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:646: in run_until_complete
        return future.result()
    __init__.py:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen
    



    8. test_community_contact_block_unblock_offline, id: 702894

    Test setup failed: critical/test_public_chat_browsing.py:362: 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:646: in run_until_complete
        return future.result()
    __init__.py:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen
    



    9. test_community_leave, id: 702845

    Test setup failed: critical/test_public_chat_browsing.py:362: 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:646: in run_until_complete
        return future.result()
    __init__.py:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen
    



    Class TestActivityMultipleDevicePR:

    1. test_navigation_jump_to, id: 702936

    Device 2: Button element not found
    Device 2: Find Button by accessibility id: welcome-button

    Test setup failed: medium/test_activity_center.py:186: 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:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen
    



    Device sessions

    2. test_activity_center_mentions, id: 702957

    Test setup failed: medium/test_activity_center.py:186: 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:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen 
    

    [[Blocked by 15500]]

    3. test_activity_center_admin_notification_accept_swipe, id: 702958

    Test setup failed: medium/test_activity_center.py:186: 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:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen 
    

    [[Blocked by 15500]]

    4. test_activity_center_reply_read_unread_delete_filter_swipe, id: 702947

    Test setup failed: medium/test_activity_center.py:186: 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:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen
    



    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_join_send_text_messages_push, id: 702807

    Device 1: Button element not found
    Device 1: Find Button by accessibility id: welcome-button

    Test setup failed: critical/chats/test_group_chat.py:153: 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:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen
    



    Device sessions

    2. test_group_chat_pin_messages, id: 702732

    Test setup failed: critical/chats/test_group_chat.py:153: 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:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen
    



    3. test_group_chat_offline_pn, id: 702808

    Test setup failed: critical/chats/test_group_chat.py:153: 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:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen
    



    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_is_shown_message_sent_delivered_from_offline, id: 702783

    Test setup failed: critical/chats/test_1_1_public_chats.py:910: 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:646: in run_until_complete
        return future.result()
    __init__.py:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen
    



    2. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745

    Test setup failed: critical/chats/test_1_1_public_chats.py:910: 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:646: in run_until_complete
        return future.result()
    __init__.py:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen
    



    3. test_1_1_chat_text_message_delete_push_disappear, id: 702733

    Test setup failed: critical/chats/test_1_1_public_chats.py:910: 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:646: in run_until_complete
        return future.result()
    __init__.py:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen
    



    4. test_1_1_chat_edit_message, id: 702855

    Test setup failed: critical/chats/test_1_1_public_chats.py:910: 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:646: in run_until_complete
        return future.result()
    __init__.py:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen
    



    5. test_1_1_chat_pin_messages, id: 702731

    Test setup failed: critical/chats/test_1_1_public_chats.py:910: 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:646: in run_until_complete
        return future.result()
    __init__.py:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen
    



    6. test_1_1_chat_message_reaction, id: 702730

    Device 1: Button element not found
    Device 1: Find Button by accessibility id: welcome-button

    Test setup failed: critical/chats/test_1_1_public_chats.py:910: 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:646: in run_until_complete
        return future.result()
    __init__.py:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen
    



    Device sessions

    7. test_1_1_chat_delete_via_long_press_relogin, id: 702784

    Test setup failed: critical/chats/test_1_1_public_chats.py:910: 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:646: in run_until_complete
        return future.result()
    __init__.py:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen
    



    8. test_1_1_chat_push_emoji, id: 702813

    Test setup failed: critical/chats/test_1_1_public_chats.py:910: 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:646: in run_until_complete
        return future.result()
    __init__.py:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen
    



    9. test_1_1_chat_emoji_send_reply_and_open_link, id: 702782

    Test setup failed: critical/chats/test_1_1_public_chats.py:910: 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:646: in run_until_complete
        return future.result()
    __init__.py:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen
    



    @status-im-auto
    Copy link
    Member

    0% of end-end tests have passed

    Total executed tests: 18
    Failed tests: 18
    Passed tests: 0
    Not executed tests: 12
    
    IDs of not executed tests: 702807,702732,702808,703086,702846,702742,702850,702851,702936,702947,702957,702958 
    
    IDs of failed tests: 702784,702786,702840,702813,702894,702845,702731,702838,702783,702843,702745,702844,702839,702782,702730,702733,702855,702841 
    

    Not executed tests (12)

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

    Click to expand
  • Rerun failed tests

  • Class TestCommunityMultipleDeviceMerged:

    1. test_community_mentions_push_notification, id: 702786
    Test setup failed: critical/test_public_chat_browsing.py:362: 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:646: in run_until_complete
        return future.result()
    __init__.py:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen
    



    2. test_community_emoji_send_copy_paste_reply, id: 702840

    Test setup failed: critical/test_public_chat_browsing.py:362: 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:646: in run_until_complete
        return future.result()
    __init__.py:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen
    



    3. test_community_contact_block_unblock_offline, id: 702894

    Test setup failed: critical/test_public_chat_browsing.py:362: 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:646: in run_until_complete
        return future.result()
    __init__.py:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen
    



    4. test_community_leave, id: 702845

    Test setup failed: critical/test_public_chat_browsing.py:362: 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:646: in run_until_complete
        return future.result()
    __init__.py:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen
    



    5. test_community_message_send_check_timestamps_sender_username, id: 702838

    Device 1: Button element not found
    Device 1: Find Button by accessibility id: welcome-button

    Test setup failed: critical/test_public_chat_browsing.py:362: 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:646: in run_until_complete
        return future.result()
    __init__.py:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen 
    

    [[blocked by 14797]]

    Device sessions

    6. test_community_message_edit, id: 702843

    Test setup failed: critical/test_public_chat_browsing.py:362: 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:646: in run_until_complete
        return future.result()
    __init__.py:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen
    



    7. test_community_links_with_previews_github_youtube_twitter_gif_send_enable, id: 702844

    Test setup failed: critical/test_public_chat_browsing.py:362: 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:646: in run_until_complete
        return future.result()
    __init__.py:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen
    



    8. test_community_message_delete, id: 702839

    Test setup failed: critical/test_public_chat_browsing.py:362: 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:646: in run_until_complete
        return future.result()
    __init__.py:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen
    



    9. test_community_unread_messages_badge, id: 702841

    Test setup failed: critical/test_public_chat_browsing.py:362: 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:646: in run_until_complete
        return future.result()
    __init__.py:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen
    



    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_delete_via_long_press_relogin, id: 702784

    Test setup failed: critical/chats/test_1_1_public_chats.py:910: 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:646: in run_until_complete
        return future.result()
    __init__.py:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen
    



    2. test_1_1_chat_push_emoji, id: 702813

    Test setup failed: critical/chats/test_1_1_public_chats.py:910: 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:646: in run_until_complete
        return future.result()
    __init__.py:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen
    



    3. test_1_1_chat_pin_messages, id: 702731

    Test setup failed: critical/chats/test_1_1_public_chats.py:910: 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:646: in run_until_complete
        return future.result()
    __init__.py:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen
    



    4. test_1_1_chat_is_shown_message_sent_delivered_from_offline, id: 702783

    Test setup failed: critical/chats/test_1_1_public_chats.py:910: 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:646: in run_until_complete
        return future.result()
    __init__.py:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen
    



    5. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745

    Test setup failed: critical/chats/test_1_1_public_chats.py:910: 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:646: in run_until_complete
        return future.result()
    __init__.py:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen
    



    6. test_1_1_chat_emoji_send_reply_and_open_link, id: 702782

    Test setup failed: critical/chats/test_1_1_public_chats.py:910: 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:646: in run_until_complete
        return future.result()
    __init__.py:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen
    



    7. test_1_1_chat_message_reaction, id: 702730

    Device 1: Button element not found
    Device 1: Find Button by accessibility id: welcome-button

    Test setup failed: critical/chats/test_1_1_public_chats.py:910: 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:646: in run_until_complete
        return future.result()
    __init__.py:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen
    



    Device sessions

    8. test_1_1_chat_text_message_delete_push_disappear, id: 702733

    Test setup failed: critical/chats/test_1_1_public_chats.py:910: 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:646: in run_until_complete
        return future.result()
    __init__.py:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen
    



    9. test_1_1_chat_edit_message, id: 702855

    Test setup failed: critical/chats/test_1_1_public_chats.py:910: 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:646: in run_until_complete
        return future.result()
    __init__.py:36: 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:229: in create_user
        self.start_button.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: `welcome-button` is not found on the screen
    



    @status-im-auto
    Copy link
    Member

    76% of end-end tests have passed

    Total executed tests: 25
    Failed tests: 6
    Passed tests: 19
    Not executed tests: 5
    
    IDs of not executed tests: 703086,702846,702742,702850,702851 
    
    IDs of failed tests: 702958,702957,702936,702947,702838,702808 
    

    Not executed tests (5)

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

    Click to expand
  • Rerun failed tests

  • Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_offline_pn, id: 702808

    Device 3: Looking for a message by text: message from old member
    Device 3: Looking for a message by text: message from new member

    critical/chats/test_group_chat.py:261: in test_group_chat_offline_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))]))
     message from new member PN was not fetched from offline
    



    Device sessions

    Class TestActivityMultipleDevicePR:

    1. test_activity_center_admin_notification_accept_swipe, id: 702958

    Test setup failed: medium/test_activity_center.py:191: in prepare_devices
        users = self.loop.run_until_complete(run_in_parallel(
    /usr/lib/python3.10/asyncio/base_events.py:646: in run_until_complete
        return future.result()
    __init__.py:36: 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/base_view.py:623: in get_public_key_and_username
        default_username = profile_view.default_username_text.text
    ../views/base_element.py:391: in text
        text = self.find_element().text
    ../views/base_element.py:80: in find_element
        raise NoSuchElementException(
     Device 2: Text by accessibility id: `default-username` is not found on the screen 
    

    [[Blocked by 15500]]

    2. test_activity_center_mentions, id: 702957

    Test setup failed: medium/test_activity_center.py:191: in prepare_devices
        users = self.loop.run_until_complete(run_in_parallel(
    /usr/lib/python3.10/asyncio/base_events.py:646: in run_until_complete
        return future.result()
    __init__.py:36: 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/base_view.py:623: in get_public_key_and_username
        default_username = profile_view.default_username_text.text
    ../views/base_element.py:391: in text
        text = self.find_element().text
    ../views/base_element.py:80: in find_element
        raise NoSuchElementException(
     Device 2: Text by accessibility id: `default-username` is not found on the screen 
    

    [[Blocked by 15500]]

    3. test_navigation_jump_to, id: 702936

    Device 1: Text is zQ3shwg7gHrz4Jpzo6Wjgzf5fdiqtU9PbcTQcXiZGFMfti6XY
    Device 1: Click system back button

    Test setup failed: medium/test_activity_center.py:191: in prepare_devices
        users = self.loop.run_until_complete(run_in_parallel(
    /usr/lib/python3.10/asyncio/base_events.py:646: in run_until_complete
        return future.result()
    __init__.py:36: 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/base_view.py:623: in get_public_key_and_username
        default_username = profile_view.default_username_text.text
    ../views/base_element.py:391: in text
        text = self.find_element().text
    ../views/base_element.py:80: in find_element
        raise NoSuchElementException(
     Device 2: Text by accessibility id: `default-username` is not found on the screen
    



    Device sessions

    4. test_activity_center_reply_read_unread_delete_filter_swipe, id: 702947

    Test setup failed: medium/test_activity_center.py:191: in prepare_devices
        users = self.loop.run_until_complete(run_in_parallel(
    /usr/lib/python3.10/asyncio/base_events.py:646: in run_until_complete
        return future.result()
    __init__.py:36: 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/base_view.py:623: in get_public_key_and_username
        default_username = profile_view.default_username_text.text
    ../views/base_element.py:391: in text
        text = self.find_element().text
    ../views/base_element.py:80: in find_element
        raise NoSuchElementException(
     Device 2: Text by accessibility id: `default-username` is not found on the screen
    



    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:418: in test_community_message_send_check_timestamps_sender_username
        channel.verify_message_is_under_today_text(message, self.errors)
    ../views/chat_view.py:923: 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 (19)

    Click to expand

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_pin_messages, id: 702732
    Device sessions

    2. test_group_chat_join_send_text_messages_push, id: 702807
    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

    @pavloburykh
    Copy link
    Contributor

    @J-Son89 thanx for the PR. Tested and ready to merge. Failed e2e are not PR related.

    @J-Son89
    Copy link
    Contributor Author

    J-Son89 commented Apr 26, 2023

    @J-Son89 thanx for the PR. Tested and ready to merge. Failed e2e are not PR related.

    Thanks for all the work @pavloburykh!

    @Parveshdhull you're happy with how this pr looks?

    Copy link
    Member

    @Parveshdhull Parveshdhull left a comment

    Choose a reason for hiding this comment

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

    Looks great, Thank you for your awesome work

    :bottom 0
    :left 0
    :right 0
    })
    Copy link
    Member

    Choose a reason for hiding this comment

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

    Please move these to above line

    @J-Son89 J-Son89 merged commit 52c6687 into develop Apr 27, 2023
    @J-Son89 J-Son89 deleted the jc/refactor-carousel branch April 27, 2023 04:26
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Projects
    No open projects
    Archived in project
    Development

    Successfully merging this pull request may close these issues.

    New Syncing flows, implement generate sync code page
    8 participants