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

Fix UI freezing when image is opened from activity center #16707

Merged
merged 1 commit into from
Jul 26, 2023

Conversation

Parveshdhull
Copy link
Member

@Parveshdhull Parveshdhull commented Jul 17, 2023

fixes: #16706

Summary

We are directly using components created for messaging inside the activity center. And apart from the visible view, those components also have stuff like on-press and on-long-press events, etc.
Not sure if we want to process those events, But If yes we need to properly implement that, we can't navigate to the lightbox and open the image, without opening the chat screen.

status: ready

@status-im-auto
Copy link
Member

status-im-auto commented Jul 17, 2023

Jenkins Builds

Click to see older builds (25)
Commit #️⃣ Finished (UTC) Duration Platform Result
feaf433 #1 2023-07-17 19:33:14 ~3 min tests 📄log
✔️ feaf433 #1 2023-07-17 19:35:28 ~5 min android 🤖apk 📲
✔️ feaf433 #1 2023-07-17 19:36:05 ~6 min ios 📱ipa 📲
✔️ feaf433 #1 2023-07-17 19:36:11 ~6 min android-e2e 🤖apk 📲
feaf433 #2 2023-07-17 19:37:24 ~2 min tests 📄log
✔️ 3d302f9 #3 2023-07-18 07:16:38 ~5 min android-e2e 🤖apk 📲
✔️ 3d302f9 #3 2023-07-18 07:16:43 ~5 min android 🤖apk 📲
✔️ 3d302f9 #3 2023-07-18 07:17:18 ~6 min ios 📱ipa 📲
✔️ 3d302f9 #4 2023-07-18 07:19:08 ~8 min tests 📄log
✔️ a60cc39 #4 2023-07-24 19:53:45 ~5 min android 🤖apk 📲
✔️ a60cc39 #4 2023-07-24 19:54:17 ~6 min ios 📱ipa 📲
✔️ a60cc39 #4 2023-07-24 19:56:48 ~8 min android-e2e 🤖apk 📲
✔️ a60cc39 #5 2023-07-24 19:57:25 ~9 min tests 📄log
✔️ f2c03dd #5 2023-07-24 21:08:37 ~6 min android-e2e 🤖apk 📲
✔️ f2c03dd #5 2023-07-24 21:08:44 ~6 min ios 📱ipa 📲
✔️ f2c03dd #5 2023-07-24 21:08:45 ~6 min android 🤖apk 📲
✔️ f2c03dd #6 2023-07-24 21:10:56 ~8 min tests 📄log
0efd273 #7 2023-07-24 23:32:16 ~2 min tests 📄log
✔️ 0efd273 #6 2023-07-24 23:35:31 ~6 min ios 📱ipa 📲
✔️ 0efd273 #6 2023-07-24 23:35:44 ~6 min android-e2e 🤖apk 📲
✔️ 0efd273 #6 2023-07-24 23:35:46 ~6 min android 🤖apk 📲
8b6987a #8 2023-07-25 12:11:00 ~4 min tests 📄log
✔️ 8b6987a #7 2023-07-25 12:12:46 ~6 min android-e2e 🤖apk 📲
✔️ 8b6987a #7 2023-07-25 12:13:21 ~6 min ios 📱ipa 📲
✔️ 8b6987a #7 2023-07-25 12:15:25 ~8 min android 🤖apk 📲
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 522d6f8 #9 2023-07-25 16:07:10 ~6 min android 🤖apk 📲
✔️ 522d6f8 #9 2023-07-25 16:07:18 ~6 min android-e2e 🤖apk 📲
✔️ 522d6f8 #9 2023-07-25 16:07:49 ~6 min ios 📱ipa 📲
✔️ 522d6f8 #10 2023-07-25 16:09:09 ~8 min tests 📄log
✔️ 8e8d48f #10 2023-07-26 12:40:30 ~6 min android 🤖apk 📲
✔️ 8e8d48f #10 2023-07-26 12:40:43 ~6 min ios 📱ipa 📲
✔️ 8e8d48f #10 2023-07-26 12:41:50 ~7 min android-e2e 🤖apk 📲
✔️ 8e8d48f #11 2023-07-26 12:42:53 ~8 min tests 📄log

@status-im-auto
Copy link
Member

8% of end-end tests have passed

Total executed tests: 36
Failed tests: 33
Passed tests: 3
IDs of failed tests: 702784,702850,702859,702947,702733,702843,702786,702731,702936,702730,702894,703297,702957,702844,703086,703391,702838,702813,702783,702745,702732,703133,702807,702855,703194,702808,702845,702841,703202,702840,702958,702839,702782 

Failed tests (33)

Click to expand
  • Rerun failed tests

  • 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:857: in prepare_devices
        self.chat_1.send_message('hey')
    ../views/chat_view.py:968: 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 `1`: `ChatMessageInput` by` accessibility id`: `chat-message-input` is not found on the screen after wait_for_element
    



    2. test_1_1_chat_text_message_delete_push_disappear, id: 702733

    Test setup failed: critical/chats/test_1_1_public_chats.py:857: in prepare_devices
        self.chat_1.send_message('hey')
    ../views/chat_view.py:968: 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 `1`: `ChatMessageInput` by` accessibility id`: `chat-message-input` is not found on the screen after wait_for_element
    



    3. test_1_1_chat_pin_messages, id: 702731

    Test is not run, e2e blocker  
    

    [[reason: [NOTRUN] Pin feature is in development]]

    4. test_1_1_chat_message_reaction, id: 702730

    Device 1: ChatMessageInput element not found
    Device 1: Sending message 'hey'

    Test setup failed: critical/chats/test_1_1_public_chats.py:857: in prepare_devices
        self.chat_1.send_message('hey')
    ../views/chat_view.py:968: 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 `1`: `ChatMessageInput` by` accessibility id`: `chat-message-input` is not found on the screen after wait_for_element
    



    Device sessions

    5. test_1_1_chat_send_image_save_and_share, id: 703391

    Test setup failed: critical/chats/test_1_1_public_chats.py:857: in prepare_devices
        self.chat_1.send_message('hey')
    ../views/chat_view.py:968: 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 `1`: `ChatMessageInput` by` accessibility id`: `chat-message-input` is not found on the screen after wait_for_element
    



    6. test_1_1_chat_push_emoji, id: 702813

    Test setup failed: critical/chats/test_1_1_public_chats.py:857: in prepare_devices
        self.chat_1.send_message('hey')
    ../views/chat_view.py:968: 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 `1`: `ChatMessageInput` by` accessibility id`: `chat-message-input` is not found on the screen after wait_for_element
    



    7. test_1_1_chat_is_shown_message_sent_delivered_from_offline, id: 702783

    Test setup failed: critical/chats/test_1_1_public_chats.py:857: in prepare_devices
        self.chat_1.send_message('hey')
    ../views/chat_view.py:968: 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 `1`: `ChatMessageInput` by` accessibility id`: `chat-message-input` is not found on the screen after wait_for_element
    



    8. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745

    Test setup failed: critical/chats/test_1_1_public_chats.py:857: in prepare_devices
        self.chat_1.send_message('hey')
    ../views/chat_view.py:968: 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 `1`: `ChatMessageInput` by` accessibility id`: `chat-message-input` is not found on the screen after wait_for_element
    



    9. test_1_1_chat_edit_message, id: 702855

    Test setup failed: critical/chats/test_1_1_public_chats.py:857: in prepare_devices
        self.chat_1.send_message('hey')
    ../views/chat_view.py:968: 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 `1`: `ChatMessageInput` by` accessibility id`: `chat-message-input` is not found on the screen after wait_for_element
    



    10. test_1_1_chat_emoji_send_reply_and_open_link, id: 702782

    Test setup failed: critical/chats/test_1_1_public_chats.py:857: in prepare_devices
        self.chat_1.send_message('hey')
    ../views/chat_view.py:968: 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 `1`: `ChatMessageInput` by` accessibility id`: `chat-message-input` is not found on the screen after wait_for_element
    



    Class TestActivityMultipleDevicePR:

    1. test_activity_center_reply_read_unread_delete_filter_swipe, id: 702947

    Test setup failed: medium/test_activity_center.py:138: in prepare_devices
        self.chat_1.send_message(self.one_to_one_message)
    ../views/chat_view.py:968: 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 `1`: `ChatMessageInput` by` accessibility id`: `chat-message-input` is not found on the screen after wait_for_element
    



    2. test_navigation_jump_to, id: 702936

    Device 1: ChatMessageInput element not found
    Device 1: Sending message 'one-t-one message'

    Test setup failed: medium/test_activity_center.py:138: in prepare_devices
        self.chat_1.send_message(self.one_to_one_message)
    ../views/chat_view.py:968: 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 `1`: `ChatMessageInput` by` accessibility id`: `chat-message-input` is not found on the screen after wait_for_element
    



    Device sessions

    3. test_activity_center_mentions, id: 702957

    Test setup failed: medium/test_activity_center.py:138: in prepare_devices
        self.chat_1.send_message(self.one_to_one_message)
    ../views/chat_view.py:968: 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 `1`: `ChatMessageInput` by` accessibility id`: `chat-message-input` is not found on the screen after wait_for_element
    



    4. test_activity_center_admin_notification_accept_swipe, id: 702958

    Test setup failed: medium/test_activity_center.py:138: in prepare_devices
        self.chat_1.send_message(self.one_to_one_message)
    ../views/chat_view.py:968: 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 `1`: `ChatMessageInput` by` accessibility id`: `chat-message-input` is not found on the screen after wait_for_element
    



    Class TestCommunityOneDeviceMerged:

    1. test_restore_multiaccount_with_waku_backup_remove_switch, id: 703133

    Device 1: Find Button by accessibility id: show-profiles
    Device 1: Tap on found: Button

    critical/test_public_chat_browsing.py:433: in test_restore_multiaccount_with_waku_backup_remove_switch
        self.errors.verify_no_errors()
    base_test_case.py:182: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Contact(s) was (were) not restored from backup: MyCustomNickname!
    



    Device sessions

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_one_image_send_reply, id: 702859

    Test setup failed: critical/test_public_chat_browsing.py:458: in prepare_devices
        self.chat_1.send_message('hey')
    ../views/chat_view.py:968: 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 `1`: `ChatMessageInput` by` accessibility id`: `chat-message-input` is not found on the screen after wait_for_element
    



    2. test_community_message_edit, id: 702843

    Test setup failed: critical/test_public_chat_browsing.py:458: in prepare_devices
        self.chat_1.send_message('hey')
    ../views/chat_view.py:968: 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 `1`: `ChatMessageInput` by` accessibility id`: `chat-message-input` is not found on the screen after wait_for_element
    



    3. test_community_mentions_push_notification, id: 702786

    Test setup failed: critical/test_public_chat_browsing.py:458: in prepare_devices
        self.chat_1.send_message('hey')
    ../views/chat_view.py:968: 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 `1`: `ChatMessageInput` by` accessibility id`: `chat-message-input` is not found on the screen after wait_for_element
    



    4. test_community_contact_block_unblock_offline, id: 702894

    Test setup failed: critical/test_public_chat_browsing.py:458: in prepare_devices
        self.chat_1.send_message('hey')
    ../views/chat_view.py:968: 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 `1`: `ChatMessageInput` by` accessibility id`: `chat-message-input` is not found on the screen after wait_for_element
    



    5. test_community_links_with_previews_github_youtube_twitter_gif_send_enable, id: 702844

    Test setup failed: critical/test_public_chat_browsing.py:458: in prepare_devices
        self.chat_1.send_message('hey')
    ../views/chat_view.py:968: 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 `1`: `ChatMessageInput` by` accessibility id`: `chat-message-input` is not found on the screen after wait_for_element
    



    6. test_community_mark_all_messages_as_read, id: 703086

    Test setup failed: critical/test_public_chat_browsing.py:458: in prepare_devices
        self.chat_1.send_message('hey')
    ../views/chat_view.py:968: 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 `1`: `ChatMessageInput` by` accessibility id`: `chat-message-input` is not found on the screen after wait_for_element
    



    7. test_community_message_send_check_timestamps_sender_username, id: 702838

    Device 1: ChatMessageInput element not found
    Device 1: Sending message 'hey'

    Test setup failed: critical/test_public_chat_browsing.py:458: in prepare_devices
        self.chat_1.send_message('hey')
    ../views/chat_view.py:968: 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 `1`: `ChatMessageInput` by` accessibility id`: `chat-message-input` is not found on the screen after wait_for_element
    



    Device sessions

    8. test_community_several_images_send_reply, id: 703194

    Test setup failed: critical/test_public_chat_browsing.py:458: in prepare_devices
        self.chat_1.send_message('hey')
    ../views/chat_view.py:968: 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 `1`: `ChatMessageInput` by` accessibility id`: `chat-message-input` is not found on the screen after wait_for_element
    



    9. test_community_leave, id: 702845

    Test setup failed: critical/test_public_chat_browsing.py:458: in prepare_devices
        self.chat_1.send_message('hey')
    ../views/chat_view.py:968: 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 `1`: `ChatMessageInput` by` accessibility id`: `chat-message-input` is not found on the screen after wait_for_element
    



    10. test_community_unread_messages_badge, id: 702841

    Test setup failed: critical/test_public_chat_browsing.py:458: in prepare_devices
        self.chat_1.send_message('hey')
    ../views/chat_view.py:968: 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 `1`: `ChatMessageInput` by` accessibility id`: `chat-message-input` is not found on the screen after wait_for_element
    



    11. test_community_emoji_send_copy_paste_reply, id: 702840

    Test setup failed: critical/test_public_chat_browsing.py:458: in prepare_devices
        self.chat_1.send_message('hey')
    ../views/chat_view.py:968: 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 `1`: `ChatMessageInput` by` accessibility id`: `chat-message-input` is not found on the screen after wait_for_element
    



    12. test_community_message_delete, id: 702839

    Test setup failed: critical/test_public_chat_browsing.py:458: in prepare_devices
        self.chat_1.send_message('hey')
    ../views/chat_view.py:968: 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 `1`: `ChatMessageInput` by` accessibility id`: `chat-message-input` is not found on the screen after wait_for_element
    



    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_send_image_save_and_share, id: 703297

    Test setup failed: critical/chats/test_group_chat.py:200: in prepare_devices
        self.chats[0] = self.homes[0].create_group_chat(user_names_to_add=[self.usernames[1], self.usernames[2]]</b>,
    ../views/home_view.py:382: in create_group_chat
        [chat.get_username_checkbox(user_name).click() for user_name in user_names_to_add]
    ../views/home_view.py:382: in <listcomp>
        [chat.get_username_checkbox(user_name).click() for user_name in user_names_to_add]
    ../views/chat_view.py:335: in click
        self.scroll_to_element(direction='up', depth=20).click()
    ../views/base_element.py:177: in scroll_to_element
        raise NoSuchElementException(
     Device 1: UsernameCheckbox by xpath: `//*[@text='member_1']/..//*[@content-desc='checkbox-off']` is not found on the screen
    



    2. test_group_chat_pin_messages, id: 702732

    Test is not run, e2e blocker  
    

    [[reason: [NOTRUN] Pin feature is in development]]

    3. test_group_chat_join_send_text_messages_push, id: 702807

    Device 1: Find UsernameCheckbox by xpath: //*[@text='member_1']/..//*[@content-desc='checkbox-off']
    Device 1: Find UsernameCheckbox by xpath: //*[@text='member_1']/..//*[@content-desc='checkbox-off']

    Test setup failed: critical/chats/test_group_chat.py:200: in prepare_devices
        self.chats[0] = self.homes[0].create_group_chat(user_names_to_add=[self.usernames[1], self.usernames[2]]</b>,
    ../views/home_view.py:382: in create_group_chat
        [chat.get_username_checkbox(user_name).click() for user_name in user_names_to_add]
    ../views/home_view.py:382: in <listcomp>
        [chat.get_username_checkbox(user_name).click() for user_name in user_names_to_add]
    ../views/chat_view.py:335: in click
        self.scroll_to_element(direction='up', depth=20).click()
    ../views/base_element.py:177: in scroll_to_element
        raise NoSuchElementException(
     Device 1: UsernameCheckbox by xpath: `//*[@text='member_1']/..//*[@content-desc='checkbox-off']` is not found on the screen
    



    Device sessions

    4. test_group_chat_offline_pn, id: 702808

    Test setup failed: critical/chats/test_group_chat.py:200: in prepare_devices
        self.chats[0] = self.homes[0].create_group_chat(user_names_to_add=[self.usernames[1], self.usernames[2]]</b>,
    ../views/home_view.py:382: in create_group_chat
        [chat.get_username_checkbox(user_name).click() for user_name in user_names_to_add]
    ../views/home_view.py:382: in <listcomp>
        [chat.get_username_checkbox(user_name).click() for user_name in user_names_to_add]
    ../views/chat_view.py:335: in click
        self.scroll_to_element(direction='up', depth=20).click()
    ../views/base_element.py:177: in scroll_to_element
        raise NoSuchElementException(
     Device 1: UsernameCheckbox by xpath: `//*[@text='member_1']/..//*[@content-desc='checkbox-off']` is not found on the screen
    



    5. test_group_chat_reactions, id: 703202

    Test setup failed: critical/chats/test_group_chat.py:200: in prepare_devices
        self.chats[0] = self.homes[0].create_group_chat(user_names_to_add=[self.usernames[1], self.usernames[2]]</b>,
    ../views/home_view.py:382: in create_group_chat
        [chat.get_username_checkbox(user_name).click() for user_name in user_names_to_add]
    ../views/home_view.py:382: in <listcomp>
        [chat.get_username_checkbox(user_name).click() for user_name in user_names_to_add]
    ../views/chat_view.py:335: in click
        self.scroll_to_element(direction='up', depth=20).click()
    ../views/base_element.py:177: in scroll_to_element
        raise NoSuchElementException(
     Device 1: UsernameCheckbox by xpath: `//*[@text='member_1']/..//*[@content-desc='checkbox-off']` is not found on the screen
    



    Class TestActivityCenterContactRequestMultipleDevicePR:

    1. test_activity_center_contact_request_decline, id: 702850

    Device 2: Find Button by accessibility id: close-activity-center
    Device 2: Tap on found: Button

    medium/test_activity_center.py:76: in test_activity_center_contact_request_decline
        self.errors.verify_no_errors()
    base_test_case.py:182: 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 shown after declining contact request!
    E    Unread indicator on contacts tab or on activity center is shown after declining contact request!
    E    Unread indicator on contacts tab or on activity center is shown after declining contact request!
    



    Device sessions

    Passed tests (3)

    Click to expand

    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

    @churik
    Copy link
    Member

    churik commented Jul 18, 2023

    @Parveshdhull
    cannot accept the contact request (nothing happens when tapping on Accept)

    FILE.2023-07-18.11.35.35.mp4

    The reason why I actually submitted the issue now is that perhaps it could explain/help with other UI freezes which are not easily reproducible.

    If it is not, the issue itself is not that common and we can definitely postpone it.

    @Parveshdhull
    Copy link
    Member Author

    Parveshdhull commented Jul 18, 2023

    Hi @churik, thank you very much for testing the PR.

    If it is not, the issue itself is not that common and we can definitely postpone it.

    Yeah sounds good, I will fix the contact request issue and we can include this in the next release.

    The reason why I actually submitted the issue now is that perhaps it could explain/help with other UI freezes which are not easily reproducible.

    UI freeze depends on the flow where it happened. If other freezes also happening due to this particular bug, they should be fixed. But we can't know that for sure. There may or may not be other bugs. But whenever a UI freeze issue happens (even randomly), please report it. Even if it is not reproducible, we will know the flow and location of where it happened.

    @Parveshdhull Parveshdhull marked this pull request as draft July 18, 2023 09:47
    @churik
    Copy link
    Member

    churik commented Jul 18, 2023

    But whenever a UI freeze issue happens (even randomly), please report it.

    we would love too, but it seems really random. but ofc we will keep an eye on it!

    @smohamedjavid
    Copy link
    Member

    Apologies, I just saw this PR now.

    Just sharing a note.

    Summary

    We are directly using components created for messaging inside the activity center. And apart from the visible view, those components also have stuff like on-press and on-long-press events, etc.
    Not sure if we want to process those events, But If yes we need to properly implement that, we can't navigate to the lightbox and open the image, without opening the chat screen. Disabled the propagation of touch events to fix the issue. Maybe we should also separate those components.

    @Parveshdhull - During the implementation of replies, there was no design for all content types. So, the messenger components were used for the time being.

    Right now, we have the designs for that.

    https://www.figma.com/file/WQZcp6S0EnzxdTL4taoKDv/Design-System-for-Mobile?type=design&node-id=13336-165824&mode=design&t=KadcnKQ0KDgiTGqv-0

    Once these designs are implemented, these issues will not occur.

    The issue to track is #16054

    @Parveshdhull
    Copy link
    Member Author

    Hi @smohamedjavid, Thank you very much for information and link.
    I will add the implement missing image component and will use that.

    @Parveshdhull Parveshdhull changed the title Fix UI freezing when image is opened from activity center [WIP] Fix UI freezing when image is opened from activity center Jul 18, 2023
    @Parveshdhull Parveshdhull changed the title [WIP] Fix UI freezing when image is opened from activity center Fix UI freezing when image is opened from activity center Jul 24, 2023
    @Parveshdhull
    Copy link
    Member Author

    Hi @smohamedjavid, @ilmotta,
    Thank you very much for your input. I updated the PR and removed use of :pointer-events:none. And replaced the use of status-im2.contexts.chat.messages.content.image.view with quo/activity-logs-photos. Please let me know if anything else needs to be changed.

    @Parveshdhull Parveshdhull marked this pull request as ready for review July 24, 2023 21:47
    @status-im-auto
    Copy link
    Member

    87% of end-end tests have passed

    Total executed tests: 39
    Failed tests: 5
    Passed tests: 34
    
    IDs of failed tests: 702732,703133,702851,702731,703382 
    

    Failed tests (5)

    Click to expand
  • Rerun failed tests

  • Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_pin_messages, id: 702731
    Test is not run, e2e blocker  
    

    [[reason: [NOTRUN] Pin feature is in development]]

    Class TestActivityCenterContactRequestMultipleDevicePR:

    1. test_activity_center_contact_request_accept_swipe_mark_all_as_read, id: 702851

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

    medium/test_activity_center.py:112: in test_activity_center_contact_request_accept_swipe_mark_all_as_read
        self.errors.verify_no_errors()
    base_test_case.py:183: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Contact was not added to contact list after accepting contact request (as receiver)
    E    Contact was not added to contact list after accepting contact request (as sender)
    



    Device sessions

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_pin_messages, id: 702732

    Test is not run, e2e blocker  
    

    [[reason: [NOTRUN] Pin feature is in development]]

    Class TestCommunityOneDeviceMerged:

    1. test_restore_multiaccount_with_waku_backup_remove_switch, id: 703133

    Device 1: Find Button by accessibility id: show-profiles
    Device 1: Tap on found: Button

    critical/test_public_chat_browsing.py:486: in test_restore_multiaccount_with_waku_backup_remove_switch
        self.errors.verify_no_errors()
    base_test_case.py:183: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Contact(s) was (were) not restored from backup: Test_contact, MyCustomNickname!
    



    Device sessions

    2. test_community_mute_community_and_channel, id: 703382

    Device 1: Find MuteButton by accessibility id: mute-community
    Device 1: Click system back button

    critical/test_public_chat_browsing.py:402: in test_community_mute_community_and_channel
        self.errors.verify_no_errors()
    base_test_case.py:183: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Text 'Muted until 12:10 Tue 01 Aug' is not shown for a muted community channel
    



    Device sessions

    Passed tests (34)

    Click to expand

    Class TestActivityMultipleDevicePR:

    1. test_activity_center_mentions, id: 702957
    Device sessions

    2. test_navigation_jump_to, id: 702936
    Device sessions

    3. test_activity_center_reply_read_unread_delete_filter_swipe, id: 702947
    Device sessions

    4. test_activity_center_admin_notification_accept_swipe, id: 702958
    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_emoji_send_reply_and_open_link, id: 702782
    Device sessions

    2. test_1_1_chat_text_message_delete_push_disappear, id: 702733
    Device sessions

    3. test_1_1_chat_delete_via_long_press_relogin, id: 702784
    Device sessions

    4. test_1_1_chat_push_emoji, id: 702813
    Device sessions

    5. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745
    Device sessions

    6. test_1_1_chat_is_shown_message_sent_delivered_from_offline, id: 702783
    Device sessions

    7. test_1_1_chat_mute_chat, id: 703496
    Device sessions

    8. test_1_1_chat_edit_message, id: 702855
    Device sessions

    9. test_1_1_chat_send_image_save_and_share, id: 703391
    Device sessions

    10. test_1_1_chat_message_reaction, id: 702730
    Device sessions

    Class TestActivityCenterContactRequestMultipleDevicePR:

    1. test_activity_center_contact_request_decline, id: 702850
    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_mute_chat, id: 703495
    Device sessions

    2. test_group_chat_send_image_save_and_share, id: 703297
    Device sessions

    3. test_group_chat_reactions, id: 703202
    Device sessions

    4. test_group_chat_join_send_text_messages_push, id: 702807
    Device sessions

    5. test_group_chat_offline_pn, id: 702808
    Device sessions

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_several_images_send_reply, id: 703194
    Device sessions

    2. test_community_one_image_send_reply, id: 702859
    Device sessions

    3. test_community_emoji_send_copy_paste_reply, id: 702840
    Device sessions

    4. test_community_mark_all_messages_as_read, id: 703086
    Device sessions

    5. test_community_contact_block_unblock_offline, id: 702894
    Device sessions

    6. test_community_mentions_push_notification, id: 702786
    Device sessions

    7. test_community_message_delete, id: 702839
    Device sessions

    8. test_community_message_send_check_timestamps_sender_username, id: 702838
    Device sessions

    9. test_community_links_with_previews_github_youtube_twitter_gif_send_enable, id: 702844
    Device sessions

    10. test_community_message_edit, id: 702843
    Device sessions

    11. test_community_leave, id: 702845
    Device sessions

    12. test_community_unread_messages_badge, id: 702841
    Device sessions

    Copy link
    Member

    @smohamedjavid smohamedjavid left a comment

    Choose a reason for hiding this comment

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

    Great work! @Parveshdhull!

    {:border-radius 12
    :margin-top 12
    :padding-horizontal 12
    :padding-vertical 8
    :padding-vertical (if (= content-type constants/content-type-image) 12 8)
    Copy link
    Member

    Choose a reason for hiding this comment

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

    Not sure about this condition's flexibility for other content types.

    I think we have only two variants 8 (used on text) and 12 (images, stickers). We can use a boolean to toggle between them depending on the type. Not for this PR. We will need this once we update the designs for other content types.

    Copy link
    Member Author

    @Parveshdhull Parveshdhull Jul 25, 2023

    Choose a reason for hiding this comment

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

    Hi @smohamedjavid,
    Thank you very much for your input. Updated the condition as per your suggestion. And also instead of passing content-type, passed :attachment prop as per figma.

    @ilmotta not sure if there is an issue, but we probably should create Activity logs attachments component and refactor and also simplify activity logs component. wdyt?

    Copy link
    Contributor

    Choose a reason for hiding this comment

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

    not sure if there is an issue, but we probably should create Activity logs attachments component and refactor and also simplify activity logs component. wdyt?

    @Parveshdhull, I totally agree, we need to catch up to the latest changes in the DS and the activity log component is a bit outdated too (based on the guidelines).

    @qoqobolo qoqobolo self-assigned this Jul 25, 2023
    Copy link
    Contributor

    @ilmotta ilmotta left a comment

    Choose a reason for hiding this comment

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

    Thank you very much for your input. I updated the PR and removed use of :pointer-events:none. And replaced the use of status-im2.contexts.chat.messages.content.image.view with quo/activity-logs-photos. Please let me know if anything else needs to be changed.

    Thanks for the explanation. Great fix @Parveshdhull 🚀

    @Parveshdhull Parveshdhull force-pushed the fix/ui-freezing-image branch 2 times, most recently from aa16ae3 to 522d6f8 Compare July 25, 2023 16:00
    @qoqobolo
    Copy link
    Contributor

    @Parveshdhull thanks a lot for the fix!
    I've got a question.

    In the discussion above I see that the new component has been added for images in the activity center. But it does not display the image itself sent in the community. Is this expected for now?

    Screenshot 2023-07-26 at 13 14 46

    @Parveshdhull
    Copy link
    Member Author

    Parveshdhull commented Jul 26, 2023

    Hi, @qoqobolo,
    Thank you very much for testing the PR.

    The issue of missing sent image is also reproducible for me in develop. Please can you check, probably it's different issue.

    Means, image is visible randomly. Sometimes image disappear after reopening of app or activity centre

    @qoqobolo
    Copy link
    Contributor

    qoqobolo commented Jul 26, 2023

    Means, image is visible randomly. Sometimes image disappear after reopening of app or activity centre

    Yeah, I was about to write that the issue of missing images is only reproducible after reopening AC in develop. After this, if you tap on the missing image it leads to UI freezing.

    So, this issue with frozen UI is not reproducible in this PR. And if I reopen AC or the app, nothing happens, it works just fine.

    But the image is not displayed the first time AC is opened in PR (while in the develop the image is displayed on the first opening).

    But 😅 there is another issue with image replies: notification does not appear at all in AC if I send a reply with an image from desktop to mobile (I haven't logged it yet).
    It looks like image replies are broken on some other level.


    So speaking of this

    But the image is not displayed the first time AC is opened (while in the develop the image is displayed on the first opening).

    If you are sure that it is not this PR that introduces this, then we can log this missing image issue separately.
    WDYT?

    @Parveshdhull
    Copy link
    Member Author

    If you are sure that it is not this PR that introduces this, then we can log this missing image issue separately.

    Yup, it doesn't look related to PR, as the image is visible if a notification is received while the activity center is open. (So component is working ok)

    But still, I am not sure about the issue's cause. It might be related to the media server. Probably better to explore it separately.

    output-2023-07-26_17.51.52.mp4

    @qoqobolo
    Copy link
    Contributor

    @Parveshdhull okay, thanks again for your work and patience! 🙏
    PR can be merged.

    @Parveshdhull Parveshdhull merged commit 7cd9f76 into develop Jul 26, 2023
    2 checks passed
    @Parveshdhull Parveshdhull deleted the fix/ui-freezing-image branch July 26, 2023 12:49
    andresceballosm pushed a commit to andresceballosm/status-mobile that referenced this pull request Aug 6, 2023
    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.

    UI is freezing if quickly open reply with image from activity center and try to open image
    7 participants