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

Lightbox refactoring #16096

Merged
merged 2 commits into from
Jun 2, 2023
Merged

Lightbox refactoring #16096

merged 2 commits into from
Jun 2, 2023

Conversation

OmarBasem
Copy link
Contributor

@OmarBasem OmarBasem commented May 31, 2023

This PR continues lightbox refactoring.

It moves the state initialization in zoomable-image component outside of the renderer, and clears timers on component unmount.

Adding for context, there was no problem with having the state initialization outside of the renderer. The problem is in RNN Shared Element Transition. Opened an issue in there: wix/react-native-navigation#7726

@OmarBasem OmarBasem self-assigned this May 31, 2023
@status-im-auto
Copy link
Member

status-im-auto commented May 31, 2023

Jenkins Builds

Click to see older builds (12)
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 43fc24c #1 2023-05-31 13:54:20 ~5 min android-e2e 🤖apk 📲
✔️ 43fc24c #1 2023-05-31 13:54:47 ~6 min ios 📱ipa 📲
43fc24c #1 2023-05-31 13:56:22 ~7 min tests 📄log
✔️ 43fc24c #1 2023-05-31 13:57:04 ~8 min android 🤖apk 📲
✔️ 46871d8 #2 2023-05-31 18:09:37 ~11 min ios 📱ipa 📲
46871d8 #2 2023-05-31 18:42:34 ~43 min tests 📄log
✔️ 46871d8 #2 2023-05-31 18:43:12 ~44 min android-e2e 🤖apk 📲
✔️ 46871d8 #2 2023-05-31 18:43:15 ~44 min android 🤖apk 📲
✔️ d420bb1 #3 2023-06-01 08:32:37 ~5 min ios 📱ipa 📲
✔️ d420bb1 #3 2023-06-01 08:35:10 ~8 min android-e2e 🤖apk 📲
✔️ d420bb1 #3 2023-06-01 08:36:38 ~9 min tests 📄log
✔️ d420bb1 #3 2023-06-01 08:37:23 ~10 min android 🤖apk 📲
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ df03b6f #4 2023-06-01 09:47:13 ~7 min ios 📱ipa 📲
✔️ df03b6f #4 2023-06-01 09:53:54 ~14 min android-e2e 🤖apk 📲
✔️ df03b6f #4 2023-06-01 09:54:36 ~14 min android 🤖apk 📲
✔️ df03b6f #4 2023-06-01 09:56:43 ~17 min tests 📄log
✔️ 2869a0f #5 2023-06-02 10:40:13 ~6 min android-e2e 🤖apk 📲
✔️ 2869a0f #5 2023-06-02 10:40:13 ~6 min ios 📱ipa 📲
✔️ 2869a0f #5 2023-06-02 10:40:27 ~6 min android 🤖apk 📲
✔️ 2869a0f #5 2023-06-02 10:45:10 ~11 min tests 📄log

@flexsurfer flexsurfer changed the title Lightbox refactoring [WIP] Lightbox refactoring Jun 1, 2023
@OmarBasem OmarBasem force-pushed the lightbox-5 branch 2 times, most recently from d420bb1 to df03b6f Compare June 1, 2023 09:39
@OmarBasem OmarBasem marked this pull request as ready for review June 1, 2023 09:40
@OmarBasem OmarBasem changed the title [WIP] Lightbox refactoring Lightbox refactoring Jun 1, 2023
@OmarBasem OmarBasem requested a review from ilmotta June 1, 2023 09:42
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.

It's great to see this PR @OmarBasem, thanks for trying to improve the timers cancellation problem.

I understand it's hard to solve the problem without the timers atom, given how the code is written, so I don't have anything super useful to suggest here.

I'm giving my approval, but before merging, do consider renaming the the keys inside the timers atom map. show-0, mount-1, etc are not conveying any meaning.

@@ -15,24 +15,37 @@
[status-im2.contexts.chat.lightbox.constants :as constants]
[utils.worklets.lightbox :as worklet]))

(defn clear-timers
[timers]
(js/clearTimeout (:mount-0 @timers))
Copy link
Contributor

Choose a reason for hiding this comment

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

We could give more specific names, like what is :mount-0 referring to?

@status-im-auto
Copy link
Member

82% of end-end tests have passed

Total executed tests: 33
Failed tests: 6
Passed tests: 27
IDs of failed tests: 702733,702782,702783,702731,703086,702838 

Failed tests (6)

Click to expand
  • Rerun failed tests

  • Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_text_message_delete_push_disappear, id: 702733

    Device 2: Find `Text` by `xpath`: `//*[starts-with(@text,'smth I should edit')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']//*[@content-desc='message-status']/android.widget.TextView`
    Device 2: `Text` is `Sent`

    critical/chats/test_1_1_public_chats.py:1145: in test_1_1_chat_text_message_delete_push_disappear
        self.chat_2.chat_element_by_text(message_after_edit_1_1).wait_for_status_to_be("Delivered")
    ../views/chat_view.py:227: in wait_for_status_to_be
        raise TimeoutException("Message status was not changed to %s" % expected_status)
     Message status was not changed to Delivered
    



    Device sessions

    2. test_1_1_chat_emoji_send_reply_and_open_link, id: 702782

    Device 1: Long press on Button until expected element is shown
    Device 1: Find Button by xpath: //*[@text="Reply"]

    critical/chats/test_1_1_public_chats.py:908: in test_1_1_chat_emoji_send_reply_and_open_link
        self.chat_1.quote_message(emoji_unicode)
    ../views/chat_view.py:995: in quote_message
        self.reply_message_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 xpath: `//*[@text="Reply"]` is not found on the screen
    



    Device sessions

    3. test_1_1_chat_is_shown_message_sent_delivered_from_offline, id: 702783

    # STEP: Device1 goes back online and checks that 1-1 chat will be fetched
    Device 1: Looking for a message by text: test message

    critical/chats/test_1_1_public_chats.py:1230: in test_1_1_chat_is_shown_message_sent_delivered_from_offline
        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 status was not delivered after back up online, it is "Sending"!
    



    Device sessions

    4. test_1_1_chat_pin_messages, id: 702731

    Device 1: Waiting for message to be sent for 30 sec
    Device 1: Find Text by xpath: //*[starts-with(@text,'Message 1')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']

    critical/chats/test_1_1_public_chats.py:943: in test_1_1_chat_pin_messages
        self.chat_1.chat_element_by_text(self.message_1).wait_for_status_to_be("Delivered")
    ../views/chat_view.py:224: in wait_for_status_to_be
        if self.status == expected_status:
    ../views/chat_view.py:200: in status
        Text(self.driver, xpath=self.locator).click()
    ../views/base_element.py:91: in click
        self.find_element().click()
    ../views/base_element.py:80: in find_element
        raise NoSuchElementException(
     Device 1: Text by xpath: `//*[starts-with(@text,'Message 1')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']` is not found on the screen
    



    Device sessions

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_mark_all_messages_as_read, id: 703086

    Device 1: Find Button by accessibility id: mark-as-read
    Device 1: Tap on found: Button

    critical/test_public_chat_browsing.py:769: in test_community_mark_all_messages_as_read
        self.errors.verify_no_errors()
    base_test_case.py:184: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     New messages counter is not shown in home > Commmunity element
    



    Device sessions

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

    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

    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 TestCommunityMultipleDeviceMerged:

    1. test_community_emoji_send_copy_paste_reply, id: 702840
    Device sessions

    2. test_community_several_images_send_reply, id: 703194
    Device sessions

    3. test_community_one_image_send_reply, id: 702859
    Device sessions

    4. test_community_links_with_previews_github_youtube_twitter_gif_send_enable, id: 702844
    Device sessions

    5. test_community_mentions_push_notification, id: 702786
    Device sessions

    6. test_community_contact_block_unblock_offline, id: 702894
    Device sessions

    7. test_community_leave, id: 702845
    Device sessions

    8. test_community_unread_messages_badge, id: 702841
    Device sessions

    9. test_community_message_delete, id: 702839
    Device sessions

    10. test_community_message_edit, id: 702843
    Device sessions

    Class TestActivityCenterContactRequestMultipleDevicePR:

    1. test_activity_center_contact_request_decline, id: 702850
    Device sessions

    2. 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_restore_multiaccount_with_waku_backup_remove_switch, id: 703133
    Device sessions

    3. test_community_copy_and_paste_message_in_chat_input, id: 702742
    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_edit_message, id: 702855
    Device sessions

    2. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745
    Device sessions

    3. test_1_1_chat_message_reaction, id: 702730
    Device sessions

    4. test_1_1_chat_push_emoji, id: 702813
    Device sessions

    5. test_1_1_chat_delete_via_long_press_relogin, id: 702784
    Device sessions

    lint
    
    toggle opacity
    
    updates
    
    updates
    
    updates
    
    updates
    
    updates
    
    updates
    
    updates
    @OmarBasem OmarBasem merged commit c5e6bd7 into develop Jun 2, 2023
    @OmarBasem OmarBasem deleted the lightbox-5 branch June 2, 2023 11:56
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    None yet
    Projects
    No open projects
    Archived in project
    Development

    Successfully merging this pull request may close these issues.

    3 participants