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

Don't sync AC notifications, only decisions/state #17600

Merged
merged 2 commits into from
Oct 26, 2023

Conversation

qfrank
Copy link
Contributor

@qfrank qfrank commented Oct 10, 2023

fixes issue
relate PR for status-go

state means if there exist unread notifications
decision means accept/dismiss/markAsXXX(read/unread/deleted)

Testing notes

pls check if syncing AC notification works as expected

Platforms

  • Android
  • iOS

status: ready

@status-im-auto
Copy link
Member

status-im-auto commented Oct 10, 2023

Jenkins Builds

Click to see older builds (25)
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ f34072a #1 2023-10-10 08:00:07 ~7 min ios 📱ipa 📲
✔️ f34072a #1 2023-10-10 08:02:46 ~10 min android-e2e 🤖apk 📲
✔️ f34072a #1 2023-10-10 08:03:27 ~11 min android 🤖apk 📲
✔️ f34072a #1 2023-10-10 08:04:39 ~12 min tests 📄log
✔️ 440ad3b #2 2023-10-16 03:28:47 ~6 min android-e2e 🤖apk 📲
✔️ 440ad3b #2 2023-10-16 03:28:51 ~6 min android 🤖apk 📲
✔️ d139cbd #3 2023-10-16 03:36:22 ~7 min ios 📱ipa 📲
✔️ d139cbd #3 2023-10-16 03:39:15 ~10 min android-e2e 🤖apk 📲
✔️ d139cbd #3 2023-10-16 03:39:57 ~10 min android 🤖apk 📲
✔️ d139cbd #3 2023-10-16 03:41:12 ~12 min tests 📄log
✔️ 2eeab97 #4 2023-10-16 10:33:39 ~8 min android-e2e 🤖apk 📲
✔️ 2eeab97 #4 2023-10-16 10:33:52 ~8 min android 🤖apk 📲
✔️ 2eeab97 #4 2023-10-16 10:46:17 ~21 min ios 📱ipa 📲
✔️ 84e0afe #5 2023-10-17 09:02:31 ~6 min android-e2e 🤖apk 📲
✔️ 84e0afe #5 2023-10-17 09:05:08 ~8 min android 🤖apk 📲
✔️ 84e0afe #5 2023-10-17 09:06:54 ~10 min tests 📄log
✔️ 84e0afe #5 2023-10-17 09:10:35 ~14 min ios 📱ipa 📲
✔️ 83c7f52 #6 2023-10-18 12:28:28 ~6 min android-e2e 🤖apk 📲
✔️ 83c7f52 #6 2023-10-18 12:29:21 ~7 min android 🤖apk 📲
✔️ 83c7f52 #6 2023-10-18 12:32:14 ~10 min ios 📱ipa 📲
✔️ 83c7f52 #6 2023-10-18 12:33:14 ~10 min tests 📄log
✔️ 177653d #7 2023-10-20 11:35:45 ~8 min ios 📱ipa 📲
✔️ 177653d #7 2023-10-20 11:37:23 ~10 min android-e2e 🤖apk 📲
✔️ 177653d #7 2023-10-20 11:38:03 ~10 min android 🤖apk 📲
✔️ 177653d #7 2023-10-20 11:38:53 ~11 min tests 📄log
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 37bc24a #8 2023-10-24 12:37:23 ~6 min android-e2e 🤖apk 📲
✔️ 37bc24a #8 2023-10-24 12:38:07 ~7 min android 🤖apk 📲
✔️ 37bc24a #8 2023-10-24 12:40:09 ~9 min ios 📱ipa 📲
✔️ 37bc24a #8 2023-10-24 12:41:31 ~10 min tests 📄log
✔️ 37bc24a #9 2023-10-26 04:39:14 ~7 min android 🤖apk 📲
✔️ 37bc24a #9 2023-10-26 04:39:46 ~7 min ios 📱ipa 📲
✔️ 37bc24a #9 2023-10-26 04:40:52 ~8 min android-e2e 🤖apk 📲
✔️ 37bc24a #9 2023-10-26 04:43:55 ~11 min tests 📄log
✔️ b6b5ad3 #10 2023-10-26 06:29:08 ~7 min android 🤖apk 📲
✔️ b6b5ad3 #10 2023-10-26 06:29:20 ~7 min android-e2e 🤖apk 📲
✔️ b6b5ad3 #10 2023-10-26 06:31:52 ~9 min ios 📱ipa 📲
✔️ b6b5ad3 #10 2023-10-26 06:32:33 ~10 min tests 📄log

@status-im-auto
Copy link
Member

84% of end-end tests have passed

Total executed tests: 43
Failed tests: 7
Passed tests: 36
IDs of failed tests: 702894,703086,702786,702731,702808,702732,703495 

Failed tests (7)

Click to expand
  • Rerun failed tests

  • Class TestCommunityMultipleDeviceMergedTwo:

    1. test_community_mentions_push_notification, id: 702786

    Device 2: Getting PN by 'user_2'
    Device 2: Looking for a message by text: user_2

    critical/chats/test_public_chat_browsing.py:874: in test_community_mentions_push_notification
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Can not edit a message with a mention
    



    Device sessions

    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:309: in test_group_chat_offline_pn
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Messages PN was not fetched from offline 
    

    [[Data delivery issue]]

    Device sessions

    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_mute_chat, id: 703495

    Device 2: Click until ChatMessageInput by accessibility id: chat-message-input will be presented
    Device 2: Looking for a message by text: Chat is unmuted now

    critical/chats/test_group_chat.py:473: in test_group_chat_mute_chat
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     New messages counter near chats tab button is 1 after unmute, but should be 2
    



    Device sessions

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_contact_block_unblock_offline, id: 702894

    Device 2: Tap on found: Button
    Device 2: Attempt 0 is successful clicking close-activity-center

    ../views/home_view.py:373: in handle_contact_request
        chat_element.accept_contact_request()
    ../views/home_view.py:150: in accept_contact_request
        self.handle_cr("accept-contact-request")
    ../views/home_view.py:147: in handle_cr
        ).wait_for_rendering_ended_and_click()
    ../views/base_element.py:155: in wait_for_rendering_ended_and_click
        self.click()
    ../views/base_element.py:90: in click
        self.find_element().click()
    ../views/base_element.py:79: in find_element
        raise NoSuchElementException(
     Device 2: Button by xpath: `//*[contains(@text, 'user_1')]/ancestor::*[@content-desc='activity']/*[@content-desc="accept-contact-request"]` is not found on the screen; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception
    
    During handling of the above exception, another exception occurred:
    critical/chats/test_public_chat_browsing.py:703: in test_community_contact_block_unblock_offline
        self.home_2.handle_contact_request(self.username_1)
    ../views/home_view.py:383: in handle_contact_request
        self.driver.fail("No contact request received from %s" % username)
    base_test_case.py:179: in fail
        pytest.fail('Device %s: %s' % (self.number, text))
    E   Failed: Device 2: No contact request received from user_1 
    

    [[Message can be missed after unblock: https://github.com//issues/16873]]

    Device sessions

    2. test_community_mark_all_messages_as_read, id: 703086

    Device 1: Looking for chat: 'general'
    Device 1: Click system back button

    critical/chats/test_public_chat_browsing.py:745: in test_community_mark_all_messages_as_read
        self.home_1.community_floating_screen.wait_for_invisibility_of_element()
    ../views/base_element.py:148: in wait_for_invisibility_of_element
        raise TimeoutException(
     Device 1: BaseElement by accessibility id: `:community-overview-floating-screen`  is still visible on the screen after 10 seconds after wait_for_invisibility_of_element
    



    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_pin_messages, id: 702731

    Test is not run, e2e blocker  
    

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

    Passed tests (36)

    Click to expand

    Class TestActivityMultipleDevicePR:

    1. test_activity_center_reply_read_unread_delete_filter_swipe, id: 702947
    Device sessions

    2. test_navigation_jump_to, id: 702936
    Device sessions

    Class TestCommunityMultipleDeviceMergedTwo:

    1. test_community_leave, id: 702845
    Device sessions

    2. test_community_markdown_support, id: 702809
    Device sessions

    3. test_community_hashtag_links_to_community_channels, id: 702948
    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_edit_message, id: 702855
    Device sessions

    2. test_1_1_chat_message_reaction, id: 702730
    Device sessions

    3. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745
    Device sessions

    4. test_1_1_chat_text_message_delete_push_disappear, id: 702733
    Device sessions

    5. test_1_1_chat_push_emoji, id: 702813
    Device sessions

    6. test_1_1_chat_emoji_send_reply_and_open_link, id: 702782
    Device sessions

    7. test_1_1_chat_send_image_save_and_share, id: 703391
    Device sessions

    Class TestActivityCenterContactRequestMultipleDevicePR:

    1. test_activity_center_contact_request_accept_swipe_mark_all_as_read, id: 702851
    Device sessions

    2. test_activity_center_contact_request_decline, id: 702850
    Device sessions

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_reactions, id: 703202
    Device sessions

    2. test_group_chat_join_send_text_messages_push, id: 702807
    Device sessions

    3. test_group_chat_send_image_save_and_share, id: 703297
    Device sessions

    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_unread_messages_badge, id: 702841
    Device sessions

    4. test_community_message_delete, id: 702839
    Device sessions

    5. test_community_message_send_check_timestamps_sender_username, id: 702838
    Device sessions

    6. test_community_one_image_send_reply, id: 702859
    Device sessions

    7. test_community_message_edit, id: 702843
    Device sessions

    8. test_community_several_images_send_reply, id: 703194
    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUiTwo:

    1. test_1_1_chat_mute_chat, id: 703496
    Device sessions

    2. test_1_1_chat_is_shown_message_sent_delivered_from_offline, id: 702783
    Device sessions

    3. test_1_1_chat_delete_via_long_press_relogin, id: 702784
    Device sessions

    Class TestActivityMultipleDevicePRTwo:

    1. test_activity_center_admin_notification_accept_swipe, id: 702958
    Device sessions

    2. test_activity_center_mentions, id: 702957
    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

    3. test_restore_multiaccount_with_waku_backup_remove_switch, id: 703133
    Device sessions

    4. test_community_undo_delete_message, id: 702869
    Device sessions

    5. test_community_mute_community_and_channel, id: 703382
    Device sessions

    6. test_community_discovery, id: 703503
    Device sessions

    @pavloburykh
    Copy link
    Contributor

    @qfrank thank you for the PR! Before we continue with testing could you please describe a scenario and expected behaviour to make it more clear? Thank you!

    @VolodLytvynenko VolodLytvynenko self-assigned this Oct 10, 2023
    @qfrank
    Copy link
    Contributor Author

    qfrank commented Oct 11, 2023

    @qfrank thank you for the PR! Before we continue with testing could you please describe a scenario and expected behaviour to make it more clear? Thank you!

    Hi @pavloburykh , sorry for the confusing, basically, prepare 3 devices, 2 accounts let's say UserA/UserB:

    • login UserA on device 1/2 and make them paired
    • login UserB on device 3
    • UserB send contact request to UserA so that device 1/2 both received contact request notification
    • accept contact request on device 1
    • check if notification on device 2 will disappear (it should be since accept decision synced to device 1

    @VolodLytvynenko
    Copy link
    Contributor

    Hi @qfrank thank you for PR. Take a look please a found issues:

    ISSUE 1: The State of an accepted community notification Is not synced when the community is accepted

    Preconditions:

    • UserA uses a synced account on Device1 and Device2.
    • UserB and UserA are mutual contacts.

    Steps to Reproduce:

    1. UserA uses Device1 to create a closed community and shares it with UserB.
    2. UserB sends a community request to join the community.
    3. UserA accepts the community request using Device1.
    4. Check the accepted community notification on Device2.

    Actual Result:

    On the synced Device2, the community request is still shown as a non-accepted request.

    My.Movie.1.mp4

    Expected Result:

    The acceptance of the community request should be synced to both devices in the AC

    @VolodLytvynenko
    Copy link
    Contributor

    ISSUE 2: The sent CR status is displayed as "pending" in AC on a synced device even if the current CR is accepted

    Preconditions:

    • UserA uses a synced account on Device1 and Device2.

    Steps to Reproduce:

    1.UserA, using Device1, sends a CR to UserB.
    2. UserB accepts the Contact Request.
    3. UserA, using Device2, checks the CR status.

    Actual Result:

    UserA, using Device2, sees their CR with a 'pending' status in AC.

    image

    Expected Result:

    The CR status on Device2 should be correctly synced and displayed as accepted, the same as on Device1.

    @VolodLytvynenko
    Copy link
    Contributor

    VolodLytvynenko commented Oct 12, 2023

    Hi @qfrank. I'm still a bit unclear about the requirements for the AC notifications in this PR. Specifically, I'd like to understand how data should be presented in the AC if Device1 already contains data, and then Device2 syncs with Device1. Is addressing this part of the PR scope? Right now, there appear to be some mismatches after syncing:

    Preconditions:

    Before device2 synced with device1 the following data is set in the AC for device1:

    • Accepted CR which is sent by UserB
      image
    • Accepted CR to join to community by current user
      image
    • Accepted CR to join to community by admin user
      image
    • Non-approved community which is with 'pending' status
      image
    • read CR sent to a User B
    • read pending CR to join to community of a current user
    • read mention/reply

    Steps:

    1. Device2 sync with Device1

    Actual result:

    The following data is not shown in the AC for synced device2:

    1. Accepted CR which is sent by UserB is not shown in AC
    2. Accepted CR to join to community by current user is not shown in AC
    3. Accepted CR to join to community by admin user is not shown in AC
    4. Non-approved community which is with 'pending' status is not shown in AC

    The following read data is shown as unread for synced device2:

    1. read CR to me a contact with a current user
    2. read CR to join to community of a current user
    3. read mention/reply

    Expected result:

    Should the existing data in AC be synced and displayed on device2???

    @VolodLytvynenko
    Copy link
    Contributor

    @qfrank thank you for the PR! Before we continue with testing could you please describe a scenario and expected behaviour to make it more clear? Thank you!

    Hi @pavloburykh , sorry for the confusing, basically, prepare 3 devices, 2 accounts let's say UserA/UserB:

    • login UserA on device 1/2 and make them paired
    • login UserB on device 3
    • UserB send contact request to UserA so that device 1/2 both received contact request notification
    • accept contact request on device 1
    • check if the notification on device 2 will disappear (it should be since accept decision synced to device 1

    Hi @qfrank I checked the same flow on the last develop build and observed the same behavior. After Device1 accepts the CR, the current CR is displayed as "Accepted" in the AC of synced Device2. It seems like it's worked in the same way on the nightly. Still a bit confused about which specific flow this is fixed in order to be tested

    @VolodLytvynenko
    Copy link
    Contributor

    ISSUE 2: The sent CR status is displayed as "pending" in AC on a synced device even if the current CR is accepted

    Preconditions:

    • UserA uses a synced account on Device1 and Device2.

    Steps to Reproduce:

    1.UserA, using Device1, sends a CR to UserB. 2. UserB accepts the Contact Request. 3. UserA, using Device2, checks the CR status.

    Actual Result:

    UserA, using Device2, sees their CR with a 'pending' status in AC.

    image

    Expected Result:

    The CR status on Device2 should be correctly synced and displayed as accepted, the same as on Device1.

    @qfrank I rechecked this issue on the development build, and it's not reproducible there. It appears to be related to this specific PR.

    @VolodLytvynenko
    Copy link
    Contributor

    VolodLytvynenko commented Oct 12, 2023

    The current issue is not reproducible on the last nightly

    ISSUE 3: Display Name of synced user is not shown in message after current user sends message and is AC when user is mentioned

    Preconditions:

    • UserA uses a synced account on both Device1 and Device2.
    • UserB and UserA are mutual contacts.

    Steps to Reproduce:

    1. UserA uses Device1 to create a community or group and shares it with UserB.
    2. UserB joins the group or community and mentions UserA in a message.
    3. UserA sends a message using Device2 and checks the message.
    4. UserA checks the accepted community notification using Device2.

    Actual Result:

    When using Device2, the synced user does not see their display name when sending a message or checking mentions in the AC.
    image
    image

    Expected Result:

    The synced user should see their display name correctly when sending messages and checking mentions in the AC

    @qfrank
    Copy link
    Contributor Author

    qfrank commented Oct 12, 2023

    Thank you for your feedback! @VolodLytvynenko
    This PR changed the way of syncing notification , before this PR, we implemented syncing notification between devices which doesn't care business logic, it only cares if notification record changed in DB level, if there is a change(add/update/delete) on device1 for notification, then the record in DB table on device1 will be synced into/replaced on device2 identified by notification ID, but the way implemented brought the issue, and discussions:

    Maybe it was discussed earlier (not sure) but today I added a notification to the ActivityCenter which says that a new keypair was added to the paired device.
    Then in addActivityCenterNotification I saw this line:
    https://github.com/status-im/status-go/blob/dd3e408a4e5ca412ecd6ed69a14c1fc8e456c038/protocol/messenger_handler.go#L2281
    And wondering why do we sync activity center notifications at all?
    I guess that the point is to sync just an action/event which will generate a notification local to the device.
    Maybe there are some exceptions where we do want to sync activity center notifications, but I cannot think of them now.
    Maybe there is a point to transfer all activity center notifications when user is recovering from the other device, that's ok, but that's a thing do we want that or not?
    But definitely we should not add a notification generated on the device A to the syncing mechanism in order to see it on device B.
    GitHub
    status-go/protocol/messenger_handler.go at dd3e408a4e5ca412ecd6ed69...
    The Status module that consumes go-ethereum. Contribute to status-im/status-go development by creating an account on GitHub.
    On the example I was working today, if devices A and B are paired and user adds a new keypair to the device A, we just sync the info that a new keypair was added, when that message arrives on the device B, device B will know it's a new keypair coming from synced device (in this case device A) and will add a notification to the AC and that's it.
    Guess the same should be applied to other actions/events, not sure, but anyone knows for a case when we need to sync a notification itself?
    Yes, I think we had a similar question recently, we should sync decisions/state but not the actual notification

    We need more attention on business logic that how notification get changed(like accept/reject/read/unread notification) with the new way implemented in this PR, we don't sync notification now, we only sync decisions and state.
    In this case, if device 1 exist notification 1/2/3 , but 1/2/3 not exist on device 2, the decisions won't be synced.

    @VolodLytvynenko
    Copy link
    Contributor

    VolodLytvynenko commented Oct 12, 2023

    ISSUE 4: Unread badge persists for Synced Device2 in AC tab and in AC Bell after removal of unread notification by Device1 until the device2 relogins

    Preconditions:

    • UserA uses a synced account on both Device1 and Device2.
    • UserB and UserA are mutual contacts.

    Steps to Reproduce:

    UserB sends the reply or mention to UserA
    UserA open the AC using Device1 and removes the current notification
    UserA checks the AC using Device2 in the AC tab (replies or mention tab) where the current notification is located

    Actual result:

    The unread badge still shown for Device2 on the bell and on the tabs of AC after the Device1 removes current notif

    My.Movie.2.mp4

    Expected result:

    The removed notification should be synced

    @VolodLytvynenko
    Copy link
    Contributor

    The current issue is not reproducible on the last nightly

    ISSUE 5: 1-1 Chat does not appear for a synced user after CR Is Accepted until at least 1 message is sent/received

    Preconditions:

    • UserA uses a synced account on both Device1 and Device2.

    Steps to Reproduce:

    1. UserB sends a CR to UserA.
    2. UserA accepts the CR usign Device1.
    3. UserA checks the appearance of 1-1 chats using Device2.

    Actual Result:

    The 1-1 chat with UserB does not appear for UserA on Device2 after the CR is accepted.

    Expected Result:

    The 1-1 chat with UserB should appear for UserA on both Device1 and Device2 after the CR is accepted.

    The current issue is not reproducible on the last nightly

    @VolodLytvynenko
    Copy link
    Contributor

    VolodLytvynenko commented Oct 12, 2023

    ISSUE 6: The bell in the AC becomes unread colored for synced devices after removing a notification, and the count of notifications doesn't decrease

    Preconditions:

    • UserA uses a synced account on both Device1 and Device2.

    Steps:

    1. UserA has at least 2 unread messages in AC
    2. UserA using Device1 removes any notif in AC
    3. UserA using Device2 checks the bell in AC

    Actual result:

    • The bell icon is shown in a colored state (indicating a new message is received) for Device2, but no new messages were received.
    • The count of notifications is not updated for Device2.
    My.Movie.5.mp4

    Expected result:

    The bell icon should remain gray (indicating no new messages) for Device2, and the count of notifications should be synchronized between both devices.

    @VolodLytvynenko
    Copy link
    Contributor

    Thank you for your feedback! @VolodLytvynenko This PR changed the way of syncing notification , before this PR, we implemented syncing notification between devices which doesn't care business logic, it only cares if notification record changed in DB level, if there is a change(add/update/delete) on device1 for notification, then the record in DB table on device1 will be synced into/replaced on device2 identified by notification ID, but the way implemented brought the issue, and discussions:

    Maybe it was discussed earlier (not sure) but today I added a notification to the ActivityCenter which says that a new keypair was added to the paired device.
    Then in addActivityCenterNotification I saw this line:
    https://github.com/status-im/status-go/blob/dd3e408a4e5ca412ecd6ed69a14c1fc8e456c038/protocol/messenger_handler.go#L2281
    And wondering why do we sync activity center notifications at all?
    I guess that the point is to sync just an action/event which will generate a notification local to the device.
    Maybe there are some exceptions where we do want to sync activity center notifications, but I cannot think of them now.
    Maybe there is a point to transfer all activity center notifications when user is recovering from the other device, that's ok, but that's a thing do we want that or not?
    But definitely we should not add a notification generated on the device A to the syncing mechanism in order to see it on device B.
    GitHub
    status-go/protocol/messenger_handler.go at dd3e408a4e5ca412ecd6ed69...
    The Status module that consumes go-ethereum. Contribute to status-im/status-go development by creating an account on GitHub.
    On the example I was working today, if devices A and B are paired and user adds a new keypair to the device A, we just sync the info that a new keypair was added, when that message arrives on the device B, device B will know it's a new keypair coming from synced device (in this case device A) and will add a notification to the AC and that's it.
    Guess the same should be applied to other actions/events, not sure, but anyone knows for a case when we need to sync a notification itself?
    Yes, I think we had a similar question recently, we should sync decisions/state but not the actual notification

    We need more attention on business logic that how notification get changed(like accept/reject/read/unread notification) with the new way implemented in this PR, we don't sync notification now, we only sync decisions and state. In this case, if device 1 exist notification 1/2/3 , but 1/2/3 not exist on device 2, the decisions won't be synced.

    @qfrank thank you for the explanation. Just to clarify, as far as I understood visual sync logic probably has not changed in this PR. and the goal of this PR is to improve the synchronization process and assess how it works in comparison to the development branch. Please correct me if I've misunderstood this

    @qfrank
    Copy link
    Contributor Author

    qfrank commented Oct 13, 2023

    Hi @VolodLytvynenko , i feed bad for the message reliability,
    image
    these 2 devices in screenshot are paired, and i used third device to sent a contact request, only the first one received the notification, the right one never received the notification. I think we should stop the test ATM before message reliability get resolved. WDYT?

    @qfrank
    Copy link
    Contributor Author

    qfrank commented Oct 13, 2023

    @qfrank thank you for the explanation. Just to clarify, as far as I understood visual sync logic probably has not changed in this PR. and the goal of this PR is to improve the synchronization process and assess how it works in comparison to the development branch. Please correct me if I've misunderstood this

    visual sync logic changed a little bit:

    • local generated notification(e.g. a new keypair was added to the paired device.) won't get synced in this PR, but it did before this PR.
    • if there are notifications on device1 and no notification on device2 before sync, notifications won't get synced into device2 after sync. because we only sync decisions and state now.

    @VolodLytvynenko

    @VolodLytvynenko
    Copy link
    Contributor

    VolodLytvynenko commented Oct 13, 2023

    Hi @VolodLytvynenko , i feed bad for the message reliability, image these 2 devices in screenshot are paired, and i used third device to sent a contact request, only the first one received the notification, the right one never received the notification. I think we should stop the test ATM before message reliability get resolved. WDYT?

    Yes, message reliability sometimes wishes to be best, but I've never experienced a situation where a CR is not received at all in the current PR. I have encountered message delivery delays, but not this specific issue.

    I also noticed that on your first device, the user has an ENS name (if the user has an ENS, then the rings should not be shown on the avatar). However, on the second device, the rings are not present.
    In my experience, if two devices are synced, both of them should have ENS names.

    Is it possible that you paired them using the old pairing flow, as shown in the screenshot below?
    image

    This old pairing flow can be quite buggy and won't be used in the future. It's better to sync devices using the QR code scanning method. Probably this was a reason why you didn't receive the CR

    @qfrank
    Copy link
    Contributor Author

    qfrank commented Oct 13, 2023

    Hi @VolodLytvynenko , i feed bad for the message reliability, image these 2 devices in screenshot are paired, and i used third device to sent a contact request, only the first one received the notification, the right one never received the notification. I think we should stop the test ATM before message reliability get resolved. WDYT?

    Yes, message reliability sometimes wishes to be best, but I've never experienced a situation where a CR is not received at all in the current PR. I have encountered message delivery delays, but not this specific issue.

    I also noticed that on your first device, the user has an ENS name (if the user has an ENS, then the rings should not be shown on the avatar). However, on the second device, the rings are not present. In my experience, if two devices are synced, both of them should have ENS names.

    Is it possible that you paired them using the old pairing flow, as shown in the screenshot below? image

    This old pairing flow can be quite buggy and won't be used in the future. It's better to sync devices using the QR code scanning method. Probably this was a reason why you didn't receive the CR

    no , i used the QR code scanning method and didn't use the old pairing flow 🤦‍♂️ @VolodLytvynenko

    @status-im-auto
    Copy link
    Member

    86% of end-end tests have passed

    Total executed tests: 43
    Failed tests: 2
    Expected to fail tests: 4
    Passed tests: 37
    Not executed tests: 2
    
    IDs of not executed tests: 703629,702777 
    
    IDs of failed tests: 702745,702786 
    
    IDs of expected to fail tests: 702732,702783,702731,702808 
    

    Not executed tests (2)

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

    Click to expand
  • Rerun failed tests

  • Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745

    Device 2: Find `MemberPhoto` by `xpath`: `//*[starts-with(@text,'profile_photo')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']//*[@content-desc='user-avatar']`
    Device 2: Image differs from template to 7.04379212622549 percents

    critical/chats/test_1_1_public_chats.py:312: in test_1_1_chat_non_latin_messages_stack_update_profile_photo
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Image of user in 1-1 chat is too different from template!
    



    Device sessions

    Class TestCommunityMultipleDeviceMergedTwo:

    1. test_community_mentions_push_notification, id: 702786

    Device 2: Getting PN by 'user_2'
    Device 2: Looking for a message by text: user_2

    critical/chats/test_public_chat_browsing.py:882: in test_community_mentions_push_notification
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Can not edit a message with a mention
    E    Edited message is not shown correctly for the (receiver) admin
    



    Device sessions

    Expected to fail tests (4)

    Click to expand

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

    1. test_group_chat_pin_messages, id: 702732

    Test is not run, e2e blocker  
    

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

    2. 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:309: in test_group_chat_offline_pn
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Messages PN was not fetched from offline 
    

    [[Data delivery issue]]

    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUiTwo:

    1. test_1_1_chat_is_shown_message_sent_delivered_from_offline, id: 702783

    Device 2: Find Text by xpath: //*[starts-with(@text,'test message')]/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:601: in test_1_1_chat_is_shown_message_sent_delivered_from_offline
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Message status was not changed to Delivered, it's Sent after back up online! 
    

    [[Data delivery issue]]

    Device sessions

    Passed tests (37)

    Click to expand

    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_push_emoji, id: 702813
    Device sessions

    4. test_1_1_chat_edit_message, id: 702855
    Device sessions

    5. test_1_1_chat_send_image_save_and_share, id: 703391
    Device sessions

    6. test_1_1_chat_message_reaction, id: 702730
    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

    Class TestCommunityOneDeviceMerged:

    1. test_restore_multiaccount_with_waku_backup_remove_switch, id: 703133
    Device sessions

    2. test_community_copy_and_paste_message_in_chat_input, id: 702742
    Device sessions

    3. test_community_discovery, id: 703503
    Device sessions

    4. test_community_undo_delete_message, id: 702869
    Device sessions

    5. test_community_navigate_to_channel_when_relaunch, id: 702846
    Device sessions

    6. test_community_mute_community_and_channel, id: 703382
    Device sessions

    Class TestActivityMultipleDevicePR:

    1. test_navigation_jump_to, id: 702936
    Device sessions

    2. 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

    2. test_activity_center_contact_request_decline, id: 702850
    Device sessions

    Class TestCommunityMultipleDeviceMergedTwo:

    1. test_community_markdown_support, id: 702809
    Device sessions

    2. test_community_hashtag_links_to_community_channels, id: 702948
    Device sessions

    3. test_community_leave, id: 702845
    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_message_delete, id: 702839
    Device sessions

    7. test_community_message_send_check_timestamps_sender_username, id: 702838
    Device sessions

    8. test_community_links_with_previews_github_youtube_twitter_gif_send_enable, id: 702844
    Device sessions

    9. test_community_message_edit, id: 702843
    Device sessions

    10. test_community_unread_messages_badge, id: 702841
    Device sessions

    Class TestActivityMultipleDevicePRTwo:

    1. test_activity_center_mentions, id: 702957
    Device sessions

    2. test_activity_center_admin_notification_accept_swipe, id: 702958
    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUiTwo:

    1. test_1_1_chat_delete_via_long_press_relogin, id: 702784
    Device sessions

    2. test_1_1_chat_mute_chat, id: 703496
    Device sessions

    @VolodLytvynenko
    Copy link
    Contributor

    Hi @qfrank thank you for fixes. Issue 2 is fixed. The issue 1 #17600 (comment) still reproduced if the . Steps are the same

    @qfrank
    Copy link
    Contributor Author

    qfrank commented Oct 23, 2023

    Hi @qfrank thank you for fixes. Issue 2 is fixed. The issue 1 #17600 (comment) still reproduced if the . Steps are the same

    weired , i remember i tested it locally and passed, i'll retest, thank you

    @qfrank
    Copy link
    Contributor Author

    qfrank commented Oct 24, 2023

    Hi @VolodLytvynenko issue 1 should be fixed now, pls retry, thank you

    @status-im-auto
    Copy link
    Member

    71% of end-end tests have passed

    Total executed tests: 45
    Failed tests: 10
    Expected to fail tests: 3
    Passed tests: 32
    
    IDs of failed tests: 703194,702813,702948,703297,702869,703202,702786,702844,702846,702807 
    
    IDs of expected to fail tests: 702732,702731,702808 
    

    Failed tests (10)

    Click to expand
  • Rerun failed tests

  • Class TestCommunityMultipleDeviceMergedTwo:

    1. test_community_hashtag_links_to_community_channels, id: 702948

    Device 2: Find `Text` by `xpath`: `//android.view.ViewGroup[@content-desc='chat-item']//android.widget.TextView[contains(@text,'#cats')]`
    Device 2: Looking for a message by text: it is just a message text

    critical/chats/test_public_chat_browsing.py:1026: in test_community_hashtag_links_to_community_channels
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Receiver was not navigated to the cats channel
    



    Device sessions

    2. test_community_mentions_push_notification, id: 702786

    Device 2: Getting PN by 'user_2'
    Device 2: Looking for a message by text: user_2

    critical/chats/test_public_chat_browsing.py:882: in test_community_mentions_push_notification
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Channel did not open by clicking on a notification with the mention for admin
    E    Channel did not open by clicking on a notification with the mention for the invited member
    



    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_push_emoji, id: 702813

    Device 1: App to background
    Device 2: Sending message 'emoji'

    critical/chats/test_1_1_public_chats.py:345: in test_1_1_chat_push_emoji
        chat_2.send_message(emoji.emojize(emoji_message))
    ../views/chat_view.py:1000: in send_message
        self.chat_message_input.wait_for_element(wait_chat_input_sec)
    ../views/base_element.py:121: 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

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_send_image_save_and_share, id: 703297

    # STEP: Member_2 checks image message
    Device 3: Looking for a message by text: test image

    critical/chats/test_group_chat.py:229: in test_group_chat_send_image_save_and_share
        self.chats[2].chat_element_by_text(image_description).wait_for_visibility_of_element(60)
    ../views/base_element.py:139: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 3: ChatElementByText by xpath:`//*[starts-with(@text,'test image')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']` is not found on the screen after wait_for_visibility_of_element
    



    Device sessions

    2. test_group_chat_reactions, id: 703202

    Device 3: Adding one more 'thumbs-up' reaction or removing an added one
    Device 3: Find Button by accessibility id: emoji-reaction-2

    critical/chats/test_group_chat.py:112: in test_group_chat_reactions
        self.chats[2].add_remove_same_reaction(message=message, emoji="thumbs-up")
    ../views/chat_view.py:1081: in add_remove_same_reaction
        element.click()
    ../views/base_element.py:90: in click
        self.find_element().click()
    ../views/base_element.py:79: in find_element
        raise NoSuchElementException(
     Device 3: Button by accessibility id: `emoji-reaction-2` is not found on the screen; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception
    



    Device sessions

    3. test_group_chat_join_send_text_messages_push, id: 702807

    Device 2: Text is Delivered
    Device 1: Looking for a message by text: Hey, admin!

    critical/chats/test_group_chat.py:97: in test_group_chat_join_send_text_messages_push
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Message Hey, admin! was not received by admin
    



    Device sessions

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_several_images_send_reply, id: 703194

    Device 1: Find RepliedMessageText by xpath: //*[starts-with(@text,'reply to gallery')]/preceding::android.widget.TextView[@content-desc='quoted-message']
    Device 1: RepliedMessageText is gallery

    critical/chats/test_public_chat_browsing.py:412: in test_community_several_images_send_reply
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Gallery message do not match the template!
    



    Device sessions

    2. test_community_links_with_previews_github_youtube_twitter_gif_send_enable, id: 702844

    Device 2: Find EmojisNumber by xpath: //*[starts-with(@text,'https://m.youtube.com/watch?v=Je7yErjEVt4')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']/../..//*[@content-desc='emoji-reaction-4']/android.widget.TextView
    Device 2: Element EmojisNumber text is equal to 1

    critical/chats/test_public_chat_browsing.py:594: in test_community_links_with_previews_github_youtube_twitter_gif_send_enable
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     No preview image is shown for https://github.com/status-im/status-mobile/pull/11707
    



    Device sessions

    Class TestCommunityOneDeviceMerged:

    1. test_community_undo_delete_message, id: 702869

    Device 1: Tap on found: Button
    Device 1: Find Button by xpath: //*[@text="Undo"]

    critical/chats/test_public_chat_browsing.py:108: in test_community_undo_delete_message
        self.channel.element_by_text("Undo").click()
    ../views/base_element.py:90: in click
        self.find_element().click()
    /home/jenkins/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webelement.py:94: in click
        self._execute(Command.CLICK_ELEMENT)
    /home/jenkins/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webelement.py:395: in _execute
        return self._parent.execute(command, params)
    /home/jenkins/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:345: in execute
        self.error_handler.check_response(response)
    /home/jenkins/.local/lib/python3.10/site-packages/appium/webdriver/errorhandler.py:122: in check_response
        raise exception_class(msg=message, stacktrace=format_stacktrace(stacktrace))
     The element 'By.xpath: //*[@text="Undo"]' does not exist in DOM anymore; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#stale-element-reference-exception
    E   Stacktrace:
    E   io.appium.uiautomator2.common.exceptions.StaleElementReferenceException: The element 'By.xpath: //*[@text="Undo"]' does not exist in DOM anymore
    E   	at io.appium.uiautomator2.model.ElementsCache.restore(ElementsCache.java:117)
    E   	at io.appium.uiautomator2.model.ElementsCache.get(ElementsCache.java:153)
    E   	at io.appium.uiautomator2.handler.Click.safeHandle(Click.java:36)
    E   	at io.appium.uiautomator2.handler.request.SafeRequestHandler.handle(SafeRequestHandler.java:59)
    E   	at io.appium.uiautomator2.server.AppiumServlet.handleRequest(AppiumServlet.java:277)
    E   	at io.appium.uiautomator2.server.AppiumServlet.handleHttpRequest(AppiumServlet.java:271)
    E   	at io.appium.uiautomator2.http.ServerHandler.channelRead(ServerHandler.java:68)
    E   	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366)
    E   	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:352)
    E   	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:345)
    E   	at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
    E   	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366)
    E   	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:352)
    E   	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:345)
    E   	at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:435)
    E   	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293)
    E   	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:267)
    E   	at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:250)
    E   	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366)
    E   	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:352)
    E   	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:345)
    E   	at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:266)
    E   	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366)
    E   	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:352)
    E   	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:345)
    E   	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1294)
    E   	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366)
    E   	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:352)
    E   	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:911)
    E   	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131)
    E   	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:611)
    E   	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:552)
    E   	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:466)
    E   	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:438)
    E   	at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:140)
    E   	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144)
    E   	at java.lang.Thread.run(Thread.java:919)
    



    Device sessions

    2. test_community_navigate_to_channel_when_relaunch, id: 702846

    ## Signed in successfully!
    Device 1: Looking for a message by text: some_text

    critical/chats/test_public_chat_browsing.py:81: in test_community_navigate_to_channel_when_relaunch
        self.drivers[0].fail("Not navigated to channel view after reopening app")
    base_test_case.py:179: in fail
        pytest.fail('Device %s: %s' % (self.number, text))
     Device 1: Not navigated to channel view after reopening app
    



    Device sessions

    Expected to fail tests (3)

    Click to expand

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_pin_messages, id: 702732

    Test is not run, e2e blocker  
    

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

    2. 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:309: in test_group_chat_offline_pn
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Messages PN was not fetched from offline
    E    message from old member if not shown for device 2 
    

    [[Data delivery issue]]

    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_pin_messages, id: 702731

    Test is not run, e2e blocker  
    

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

    Passed tests (32)

    Click to expand

    Class TestCommunityMultipleDeviceMergedTwo:

    1. test_community_markdown_support, id: 702809
    Device sessions

    2. test_community_leave, id: 702845
    Device sessions

    3. test_community_join_when_node_owner_offline, id: 703629
    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_non_latin_messages_stack_update_profile_photo, id: 702745
    Device sessions

    4. test_1_1_chat_edit_message, id: 702855
    Device sessions

    5. test_1_1_chat_send_image_save_and_share, id: 703391
    Device sessions

    6. test_1_1_chat_message_reaction, id: 702730
    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUiTwo:

    1. test_1_1_chat_delete_via_long_press_relogin, id: 702784
    Device sessions

    2. test_1_1_chat_is_shown_message_sent_delivered_from_offline, id: 702783
    Device sessions

    3. test_1_1_chat_mute_chat, id: 703496
    Device sessions

    Class TestActivityMultipleDevicePR:

    1. test_navigation_jump_to, id: 702936
    Device sessions

    2. test_activity_center_reply_read_unread_delete_filter_swipe, id: 702947
    Device sessions

    Class TestActivityMultipleDevicePRTwo:

    1. test_activity_center_mentions, id: 702957
    Device sessions

    2. test_activity_center_admin_notification_accept_swipe, id: 702958
    Device sessions

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_mute_chat, id: 703495
    Device sessions

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_one_image_send_reply, id: 702859
    Device sessions

    2. test_community_emoji_send_copy_paste_reply, id: 702840
    Device sessions

    3. test_community_mark_all_messages_as_read, id: 703086
    Device sessions

    4. test_community_contact_block_unblock_offline, id: 702894
    Device sessions

    5. test_community_message_delete, id: 702839
    Device sessions

    6. test_community_message_send_check_timestamps_sender_username, id: 702838
    Device sessions

    7. test_community_message_edit, id: 702843
    Device sessions

    8. test_community_unread_messages_badge, id: 702841
    Device sessions

    Class TestCommunityOneDeviceMerged:

    1. test_restore_multiaccount_with_waku_backup_remove_switch, id: 703133
    Device sessions

    2. test_community_copy_and_paste_message_in_chat_input, id: 702742
    Device sessions

    3. test_community_discovery, id: 703503
    Device sessions

    4. test_community_mute_community_and_channel, id: 703382
    Device sessions

    Class TestActivityCenterContactRequestMultipleDevicePR:

    1. test_add_contact_field_validation, id: 702777
    Device sessions

    2. test_activity_center_contact_request_accept_swipe_mark_all_as_read, id: 702851
    Device sessions

    3. test_activity_center_contact_request_decline, id: 702850
    Device sessions

    @status-im-auto
    Copy link
    Member

    78% of end-end tests have passed

    Total executed tests: 45
    Failed tests: 7
    Expected to fail tests: 3
    Passed tests: 35
    
    IDs of failed tests: 702813,703133,703495,702869,702786,702846,702807 
    
    IDs of expected to fail tests: 702732,702731,702808 
    

    Failed tests (7)

    Click to expand
  • Rerun failed tests

  • Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_mute_chat, id: 703495

    Device 2: Click until `ChatMessageInput` by `accessibility id`: `chat-message-input` will be presented
    Device 2: Looking for a message by text: Chat is unmuted now

    critical/chats/test_group_chat.py:473: in test_group_chat_mute_chat
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Text 'Muted until 11:11 today' is not shown for muted chat
    



    Device sessions

    2. test_group_chat_join_send_text_messages_push, id: 702807

    Device 2: Text is Delivered
    Device 1: Looking for a message by text: Hey, admin!

    critical/chats/test_group_chat.py:97: in test_group_chat_join_send_text_messages_push
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Message Hey, admin! was not received by admin
    



    Device sessions

    Class TestCommunityOneDeviceMerged:

    1. test_restore_multiaccount_with_waku_backup_remove_switch, id: 703133

    # STEP: Check that can login with different user
    Device 1: Find Button by accessibility id: show-profiles

    critical/chats/test_public_chat_browsing.py:236: in test_restore_multiaccount_with_waku_backup_remove_switch
        self.sign_in.show_profiles_button.click()
    ../views/base_element.py:90: in click
        self.find_element().click()
    ../views/base_element.py:79: in find_element
        raise NoSuchElementException(
     Device 1: Button by accessibility id: `show-profiles` is not found on the screen; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception
    



    Device sessions

    2. test_community_undo_delete_message, id: 702869

    Device 1: Tap on found: Button
    Device 1: Looking for a message by text: message to delete and undo

    critical/chats/test_public_chat_browsing.py:110: in test_community_undo_delete_message
        self.channel.chat_element_by_text(message_to_delete).wait_for_visibility_of_element()
    ../views/base_element.py:139: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 1: ChatElementByText by xpath:`//*[starts-with(@text,'message to delete and undo')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']` is not found on the screen after wait_for_visibility_of_element
    
    During handling of the above exception, another exception occurred:
    critical/chats/test_public_chat_browsing.py:112: in test_community_undo_delete_message
        pytest.fail("Message was not restored by clicking 'Undo' button")
    E   Failed: Message was not restored by clicking 'Undo' button
    



    Device sessions

    3. test_community_navigate_to_channel_when_relaunch, id: 702846

    ## Signed in successfully!
    Device 1: Looking for a message by text: some_text

    critical/chats/test_public_chat_browsing.py:81: in test_community_navigate_to_channel_when_relaunch
        self.drivers[0].fail("Not navigated to channel view after reopening app")
    base_test_case.py:179: in fail
        pytest.fail('Device %s: %s' % (self.number, text))
     Device 1: Not navigated to channel view after reopening app
    



    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_push_emoji, id: 702813

    Device 1: App to background
    Device 2: Sending message 'emoji'

    critical/chats/test_1_1_public_chats.py:345: in test_1_1_chat_push_emoji
        chat_2.send_message(emoji.emojize(emoji_message))
    ../views/chat_view.py:1000: in send_message
        self.chat_message_input.wait_for_element(wait_chat_input_sec)
    ../views/base_element.py:121: 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

    Class TestCommunityMultipleDeviceMergedTwo:

    1. test_community_mentions_push_notification, id: 702786

    Device 2: Getting PN by 'user_2'
    Device 2: Looking for a message by text: user_2

    critical/chats/test_public_chat_browsing.py:882: in test_community_mentions_push_notification
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Channel did not open by clicking on a notification with the mention for admin
    E    Channel did not open by clicking on a notification with the mention for the invited member
    



    Device sessions

    Expected to fail tests (3)

    Click to expand

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_pin_messages, id: 702732

    Test is not run, e2e blocker  
    

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

    2. 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:309: in test_group_chat_offline_pn
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Messages PN was not fetched from offline 
    

    [[Data delivery issue]]

    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_pin_messages, id: 702731

    Test is not run, e2e blocker  
    

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

    Passed tests (35)

    Click to expand

    Class TestActivityMultipleDevicePRTwo:

    1. test_activity_center_mentions, id: 702957
    Device sessions

    2. test_activity_center_admin_notification_accept_swipe, id: 702958
    Device sessions

    Class TestCommunityMultipleDeviceMergedTwo:

    1. test_community_markdown_support, id: 702809
    Device sessions

    2. test_community_hashtag_links_to_community_channels, id: 702948
    Device sessions

    3. test_community_leave, id: 702845
    Device sessions

    4. test_community_join_when_node_owner_offline, id: 703629
    Device sessions

    Class TestActivityCenterContactRequestMultipleDevicePR:

    1. test_add_contact_field_validation, id: 702777
    Device sessions

    2. test_activity_center_contact_request_accept_swipe_mark_all_as_read, id: 702851
    Device sessions

    3. test_activity_center_contact_request_decline, id: 702850
    Device sessions

    Class TestActivityMultipleDevicePR:

    1. test_navigation_jump_to, id: 702936
    Device sessions

    2. test_activity_center_reply_read_unread_delete_filter_swipe, id: 702947
    Device sessions

    Class TestCommunityOneDeviceMerged:

    1. test_community_copy_and_paste_message_in_chat_input, id: 702742
    Device sessions

    2. test_community_discovery, id: 703503
    Device sessions

    3. test_community_mute_community_and_channel, id: 703382
    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUiTwo:

    1. test_1_1_chat_delete_via_long_press_relogin, id: 702784
    Device sessions

    2. test_1_1_chat_is_shown_message_sent_delivered_from_offline, id: 702783
    Device sessions

    3. test_1_1_chat_mute_chat, id: 703496
    Device sessions

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_send_image_save_and_share, id: 703297
    Device sessions

    2. test_group_chat_reactions, id: 703202
    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_message_delete, id: 702839
    Device sessions

    7. test_community_message_send_check_timestamps_sender_username, id: 702838
    Device sessions

    8. test_community_links_with_previews_github_youtube_twitter_gif_send_enable, id: 702844
    Device sessions

    9. test_community_message_edit, id: 702843
    Device sessions

    10. test_community_unread_messages_badge, id: 702841
    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_non_latin_messages_stack_update_profile_photo, id: 702745
    Device sessions

    4. test_1_1_chat_edit_message, id: 702855
    Device sessions

    5. test_1_1_chat_send_image_save_and_share, id: 703391
    Device sessions

    6. test_1_1_chat_message_reaction, id: 702730
    Device sessions

    @VolodLytvynenko
    Copy link
    Contributor

    hi @qfrank thank you for your work. No issues from my side. PR can be merged

    @qfrank qfrank force-pushed the fix/sync_activity_center_notification branch from 37bc24a to b6b5ad3 Compare October 26, 2023 06:21
    @qfrank qfrank merged commit ab2ad0e into develop Oct 26, 2023
    5 of 6 checks passed
    @qfrank qfrank deleted the fix/sync_activity_center_notification branch October 26, 2023 06:44
    yevh-berdnyk pushed a commit that referenced this pull request Dec 8, 2023
    status-im/status-go@d7e7792...74396b4
    
    * fix outgoing contact request state not show correctly
    
    * update status-go-version.json
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Projects
    Archived in project
    Archived in project
    Development

    Successfully merging this pull request may close these issues.

    Don't sync AC notifications, only decisions/state
    6 participants