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

chore: group ens names with chain-id #18001

Merged
merged 1 commit into from
Dec 6, 2023
Merged

Conversation

qfrank
Copy link
Contributor

@qfrank qfrank commented Nov 27, 2023

Adjust the db store structure to accommodate ENS names by adding a 'chain-id' to group them.

  1. Verification of ENS should be on mainnet unless specifically set in the config. This is a build time config, and not something the user can change (i.e if you change from mainnet to goerli, verification is not impacted, it's set at build time). Testing builds can be set to goerli, but release build should be set to mainnet and cannot be changed.

Although we already have above rules implemented, user can still register ens name on different network via switch network.

Additional description:
status-go already implemented chain-id within table ens_usernames, but status-mobile didn't take care of field chain-id:

before my PR, the ens names store in re-frame db may like this:
userA.eth -> {username:userA.eth, chain-id: 1, clock: ...}
userB.eth -> {username:userB.eth, chain-id: 2, clock: ...}
but this could have potential issue like:
what if we got the same ens names, but on different chain-id?

after my PR, the ens names store in re-frame db like this:
1 -> userA.eth -> {username:userA.eth, chain-id: 1, clock: ...}
2 -> userB.eth -> {username:userB.eth, chain-id: 2, clock: ...}

ens names grouped by chain-id.

Testing notes

  • Ens name registraion should work as before.
  • After sync ens name, user should only see the corresponding ens name in the ens name list depend on which network they're using.

Platforms

  • Android
  • iOS

status: ready

@qfrank qfrank self-assigned this Nov 27, 2023
@status-im-auto
Copy link
Member

status-im-auto commented Nov 27, 2023

Jenkins Builds

Click to see older builds (16)
Commit #️⃣ Finished (UTC) Duration Platform Result
7dfbd31 #1 2023-11-27 09:18:17 ~4 min tests 📄log
✔️ 7dfbd31 #1 2023-11-27 09:20:58 ~6 min ios 📱ipa 📲
✔️ 7dfbd31 #1 2023-11-27 09:21:05 ~6 min android 🤖apk 📲
✔️ 7dfbd31 #1 2023-11-27 09:21:18 ~7 min android-e2e 🤖apk 📲
662e140 #2 2023-11-28 06:39:25 ~2 min tests 📄log
✔️ 662e140 #2 2023-11-28 06:43:12 ~6 min android-e2e 🤖apk 📲
✔️ 662e140 #2 2023-11-28 06:43:20 ~6 min ios 📱ipa 📲
✔️ 662e140 #2 2023-11-28 06:43:21 ~6 min android 🤖apk 📲
✔️ 63b640c #3 2023-11-29 05:34:16 ~6 min android-e2e 🤖apk 📲
✔️ 63b640c #3 2023-11-29 05:34:22 ~6 min android 🤖apk 📲
✔️ 63b640c #3 2023-11-29 05:37:55 ~10 min tests 📄log
✔️ 63b640c #3 2023-11-29 05:41:25 ~13 min ios 📱ipa 📲
✔️ 355764f #4 2023-12-01 08:44:37 ~7 min android-e2e 🤖apk 📲
✔️ 355764f #4 2023-12-01 08:45:08 ~7 min android 🤖apk 📲
✔️ 355764f #4 2023-12-01 08:49:28 ~11 min tests 📄log
✔️ 355764f #4 2023-12-01 08:50:50 ~13 min ios 📱ipa 📲
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 4cd1051 #5 2023-12-04 06:57:43 ~7 min ios 📱ipa 📲
✔️ 4cd1051 #5 2023-12-04 07:00:50 ~10 min android-e2e 🤖apk 📲
✔️ 4cd1051 #5 2023-12-04 07:01:04 ~10 min android 🤖apk 📲
✔️ 4cd1051 #5 2023-12-04 07:02:10 ~11 min tests 📄log
✔️ 44e8f32 #6 2023-12-06 01:54:34 ~6 min android 🤖apk 📲
✔️ 44e8f32 #6 2023-12-06 01:57:14 ~8 min android-e2e 🤖apk 📲
✔️ 44e8f32 #6 2023-12-06 01:59:28 ~11 min tests 📄log
✔️ 44e8f32 #6 2023-12-06 02:01:40 ~13 min ios 📱ipa 📲

@qfrank qfrank requested a review from OmarBasem November 27, 2023 10:40
@status-im-auto
Copy link
Member

69% of end-end tests have passed

Total executed tests: 45
Failed tests: 9
Expected to fail tests: 5
Passed tests: 31
IDs of failed tests: 702786,702745,703202,702733,702809,702948,703133,702843,702782 
IDs of expected to fail tests: 702731,702808,702783,702732,703503 

Failed tests (9)

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 4.921133003982843 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))]))
     Message with text 'hello' was not received
    E    Message with text '¿Cómo estás tu año?' was not received
    E    Message with text 'ё, доброго вечерочка' was not received
    



    Device sessions

    2. test_1_1_chat_text_message_delete_push_disappear, id: 702733

    Device 1: Getting PN by 'DELETE ME'
    Device 2: Could not reach home view by pressing system back button

    critical/chats/test_1_1_public_chats.py:516: in test_1_1_chat_text_message_delete_push_disappear
        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))]))
     Push notification was not removed after initial message deletion
    



    Device sessions

    3. test_1_1_chat_emoji_send_reply_and_open_link, id: 702782

    Device 2: Find OpenInStatusButton by xpath: //*[@text="Open in Status"]
    Device 2: Tap on found: OpenInStatusButton

    critical/chats/test_1_1_public_chats.py:174: in test_1_1_chat_emoji_send_reply_and_open_link
        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))]))
     Reply for 'Test with link: https://status.im/ here should be nothing unusual.' not present in message received in public chat
    E    Link message reaction is not shown for the sender
    E    URL was not opened from 1-1 chat
    



    Device sessions

    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/chats/test_public_chat_browsing.py:273: in test_restore_multiaccount_with_waku_backup_remove_switch
        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))]))
     Incorrect contacts number restored: 0 instead of 2
    E    admin_open was not restored from waku-backup!!
    E    member_open was not restored from waku-backup!!
    E    admin_closed was not restored from waku-backup!!
    E    member_closed was not restored from waku-backup!!
    



    Device sessions

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_message_edit, id: 702843

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

    critical/chats/test_public_chat_browsing.py:356: in test_community_message_edit
        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 reaction is not shown for the sender
    



    Device sessions

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. 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:1084: 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

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

    2. test_community_markdown_support, id: 702809

    Device 1: Looking for a message by text: quote reply (one row)
    Device 2: Looking for a message by text: quote reply (one row)

    critical/chats/test_public_chat_browsing.py:953: in test_community_markdown_support
        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))]))
     bold text in underscores is not displayed with markdown in 1-1 chat for the recipient (device 2) 
    E   
    E    italic text in asteric is not displayed with markdown in 1-1 chat for the recipient (device 2) 
    E   
    E    italic text in underscore is not displayed with markdown in 1-1 chat for the recipient (device 2) 
    E   
    E    inline code is not displayed with markdown in 1-1 chat for the recipient (device 2) 
    E   
    E    code blocks is not displayed with markdown in 1-1 chat for the recipient (device 2) 
    E   
    E    quote reply (one row) is not displayed with markdown in 1-1 chat for the recipient (device 2)
    



    Device sessions

    3. test_community_hashtag_links_to_community_channels, id: 702948

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

    critical/chats/test_public_chat_browsing.py:984: in test_community_hashtag_links_to_community_channels
        self.chat_2.chat_element_by_text(community_name).view_community_button.click()
    ../views/base_element.py:90: in click
        self.find_element().click()
    ../views/base_element.py:79: in find_element
        raise NoSuchElementException(
     Device 2: BaseElement by xpath: `//*[starts-with(@text,'closed community')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']//*[@text='View']` 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

    Expected to fail tests (5)

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

    Class TestCommunityOneDeviceMerged:

    1. test_community_discovery, id: 703503

    Test is not run, e2e blocker  
    

    [[reason: [NOTRUN] Curated communities not loading, https://github.com//issues/17852]]

    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:323: 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]]

    Passed tests (31)

    Click to expand

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

    4. test_1_1_chat_send_image_save_and_share, id: 703391
    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_community_undo_delete_message, id: 702869
    Device sessions

    4. test_community_mute_community_and_channel, id: 703382
    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

    3. test_add_contact_field_validation, id: 702777
    Device sessions

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

    1. test_community_emoji_send_copy_paste_reply, id: 702840
    Device sessions

    2. test_community_contact_block_unblock_offline, id: 702894
    Device sessions

    3. test_community_mark_all_messages_as_read, id: 703086
    Device sessions

    4. test_community_links_with_previews_github_youtube_twitter_gif_send_enable, id: 702844
    Device sessions

    5. test_community_unread_messages_badge, id: 702841
    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_one_image_send_reply, id: 702859
    Device sessions

    9. test_community_several_images_send_reply, id: 703194
    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 TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_join_send_text_messages_push, id: 702807
    Device sessions

    2. test_group_chat_send_image_save_and_share, id: 703297
    Device sessions

    3. test_group_chat_mute_chat, id: 703495
    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUiTwo:

    1. test_1_1_chat_mute_chat, id: 703496
    Device sessions

    2. test_1_1_chat_delete_via_long_press_relogin, id: 702784
    Device sessions

    Class TestCommunityMultipleDeviceMergedTwo:

    1. test_community_leave, id: 702845
    Device sessions

    2. test_community_join_when_node_owner_offline, id: 703629
    Device sessions

    @qfrank qfrank force-pushed the adapt-ens-names-data-structure branch from 7dfbd31 to 662e140 Compare November 28, 2023 06:36
    @qfrank qfrank force-pushed the adapt-ens-names-data-structure branch from 662e140 to 63b640c Compare November 29, 2023 05:27
    @qfrank qfrank force-pushed the adapt-ens-names-data-structure branch 2 times, most recently from 355764f to 4cd1051 Compare December 4, 2023 06:49
    @VolodLytvynenko VolodLytvynenko self-assigned this Dec 4, 2023
    @status-im-auto
    Copy link
    Member

    75% of end-end tests have passed

    Total executed tests: 48
    Failed tests: 9
    Expected to fail tests: 3
    Passed tests: 36
    
    IDs of failed tests: 703194,703133,702840,703495,703297,703202,702807,702808,703629 
    
    IDs of expected to fail tests: 702732,703503,702731 
    

    Failed tests (9)

    Click to expand
  • Rerun failed tests

  • Class TestCommunityMultipleDeviceMergedTwo:

    1. test_community_join_when_node_owner_offline, id: 703629

    Device 2: Tap on found: Button
    Device 2: Looking for community: 'open community'

    critical/chats/test_public_chat_browsing.py:1112: in test_community_join_when_node_owner_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))]))
     Joined status is not displayed
    E    open community is not listed inside Joined communities tab
    



    Device sessions

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_mute_chat, id: 703495

    Test setup failed: critical/chats/test_group_chat.py:18: in prepare_devices
        self.drivers, self.loop = create_shared_drivers(3)
    base_test_case.py:309: in create_shared_drivers
        drivers = loop.run_until_complete(start_threads(test_suite_data.current_test.name,
    /usr/lib/python3.10/asyncio/base_events.py:649: in run_until_complete
        return future.result()
    __init__.py:26: in start_threads
        returns[k] = await returns[k]
    /usr/lib/python3.10/concurrent/futures/thread.py:58: in run
        result = self.fn(*self.args, **self.kwargs)
    /home/jenkins/.local/lib/python3.10/site-packages/appium/webdriver/webdriver.py:257: in __init__
        super().__init__(
    /home/jenkins/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:206: in __init__
        self.start_session(capabilities)
    /home/jenkins/.local/lib/python3.10/site-packages/appium/webdriver/webdriver.py:346: in start_session
        response = self.execute(RemoteCommand.NEW_SESSION, w3c_caps)
    /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/selenium/webdriver/remote/errorhandler.py:193: in check_response
        raise exception_class(value)
     <html><body><h1>502 Bad Gateway</h1>
    E   The server returned an invalid or incomplete response.
    E   </body></html>
    



    2. test_group_chat_send_image_save_and_share, id: 703297

    Test setup failed: critical/chats/test_group_chat.py:18: in prepare_devices
        self.drivers, self.loop = create_shared_drivers(3)
    base_test_case.py:309: in create_shared_drivers
        drivers = loop.run_until_complete(start_threads(test_suite_data.current_test.name,
    /usr/lib/python3.10/asyncio/base_events.py:649: in run_until_complete
        return future.result()
    __init__.py:26: in start_threads
        returns[k] = await returns[k]
    /usr/lib/python3.10/concurrent/futures/thread.py:58: in run
        result = self.fn(*self.args, **self.kwargs)
    /home/jenkins/.local/lib/python3.10/site-packages/appium/webdriver/webdriver.py:257: in __init__
        super().__init__(
    /home/jenkins/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:206: in __init__
        self.start_session(capabilities)
    /home/jenkins/.local/lib/python3.10/site-packages/appium/webdriver/webdriver.py:346: in start_session
        response = self.execute(RemoteCommand.NEW_SESSION, w3c_caps)
    /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/selenium/webdriver/remote/errorhandler.py:193: in check_response
        raise exception_class(value)
     <html><body><h1>502 Bad Gateway</h1>
    E   The server returned an invalid or incomplete response.
    E   </body></html>
    



    3. test_group_chat_reactions, id: 703202

    Test setup failed: critical/chats/test_group_chat.py:18: in prepare_devices
        self.drivers, self.loop = create_shared_drivers(3)
    base_test_case.py:309: in create_shared_drivers
        drivers = loop.run_until_complete(start_threads(test_suite_data.current_test.name,
    /usr/lib/python3.10/asyncio/base_events.py:649: in run_until_complete
        return future.result()
    __init__.py:26: in start_threads
        returns[k] = await returns[k]
    /usr/lib/python3.10/concurrent/futures/thread.py:58: in run
        result = self.fn(*self.args, **self.kwargs)
    /home/jenkins/.local/lib/python3.10/site-packages/appium/webdriver/webdriver.py:257: in __init__
        super().__init__(
    /home/jenkins/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:206: in __init__
        self.start_session(capabilities)
    /home/jenkins/.local/lib/python3.10/site-packages/appium/webdriver/webdriver.py:346: in start_session
        response = self.execute(RemoteCommand.NEW_SESSION, w3c_caps)
    /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/selenium/webdriver/remote/errorhandler.py:193: in check_response
        raise exception_class(value)
     <html><body><h1>502 Bad Gateway</h1>
    E   The server returned an invalid or incomplete response.
    E   </body></html>
    



    4. test_group_chat_join_send_text_messages_push, id: 702807

    Test setup failed: critical/chats/test_group_chat.py:18: in prepare_devices
        self.drivers, self.loop = create_shared_drivers(3)
    base_test_case.py:309: in create_shared_drivers
        drivers = loop.run_until_complete(start_threads(test_suite_data.current_test.name,
    /usr/lib/python3.10/asyncio/base_events.py:649: in run_until_complete
        return future.result()
    __init__.py:26: in start_threads
        returns[k] = await returns[k]
    /usr/lib/python3.10/concurrent/futures/thread.py:58: in run
        result = self.fn(*self.args, **self.kwargs)
    /home/jenkins/.local/lib/python3.10/site-packages/appium/webdriver/webdriver.py:257: in __init__
        super().__init__(
    /home/jenkins/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:206: in __init__
        self.start_session(capabilities)
    /home/jenkins/.local/lib/python3.10/site-packages/appium/webdriver/webdriver.py:346: in start_session
        response = self.execute(RemoteCommand.NEW_SESSION, w3c_caps)
    /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/selenium/webdriver/remote/errorhandler.py:193: in check_response
        raise exception_class(value)
     <html><body><h1>502 Bad Gateway</h1>
    E   The server returned an invalid or incomplete response.
    E   </body></html>
    



    5. test_group_chat_offline_pn, id: 702808

    Test setup failed: critical/chats/test_group_chat.py:18: in prepare_devices
        self.drivers, self.loop = create_shared_drivers(3)
    base_test_case.py:309: in create_shared_drivers
        drivers = loop.run_until_complete(start_threads(test_suite_data.current_test.name,
    /usr/lib/python3.10/asyncio/base_events.py:649: in run_until_complete
        return future.result()
    __init__.py:26: in start_threads
        returns[k] = await returns[k]
    /usr/lib/python3.10/concurrent/futures/thread.py:58: in run
        result = self.fn(*self.args, **self.kwargs)
    /home/jenkins/.local/lib/python3.10/site-packages/appium/webdriver/webdriver.py:257: in __init__
        super().__init__(
    /home/jenkins/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:206: in __init__
        self.start_session(capabilities)
    /home/jenkins/.local/lib/python3.10/site-packages/appium/webdriver/webdriver.py:346: in start_session
        response = self.execute(RemoteCommand.NEW_SESSION, w3c_caps)
    /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/selenium/webdriver/remote/errorhandler.py:193: in check_response
        raise exception_class(value)
     <html><body><h1>502 Bad Gateway</h1>
    E   The server returned an invalid or incomplete response.
    E   </body></html> 
    

    [[Data delivery issue]]

    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/chats/test_public_chat_browsing.py:273: in test_restore_multiaccount_with_waku_backup_remove_switch
        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))]))
     Incorrect contacts number restored: 3 instead of 2
    



    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:426: 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_emoji_send_copy_paste_reply, id: 702840

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

    critical/chats/test_public_chat_browsing.py:518: in test_community_emoji_send_copy_paste_reply
        self.channel_2.quote_message(emoji_unicode)
    ../views/chat_view.py:1061: in quote_message
        self.reply_message_button.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: `//*[@text="Reply"]` 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

    Expected to fail tests (3)

    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]]

    Class TestCommunityOneDeviceMerged:

    1. test_community_discovery, id: 703503

    Test is not run, e2e blocker  
    

    [[reason: [NOTRUN] Curated communities not loading, https://github.com//issues/17852]]

    Passed tests (36)

    Click to expand

    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 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_non_latin_messages_stack_update_profile_photo, id: 702745
    Device sessions

    5. test_1_1_chat_edit_message, id: 702855
    Device sessions

    6. test_1_1_chat_send_image_save_and_share, id: 703391
    Device sessions

    7. test_1_1_chat_message_reaction, id: 702730
    Device sessions

    Class TestCommunityOneDeviceMerged:

    1. test_community_copy_and_paste_message_in_chat_input, id: 702742
    Device sessions

    2. test_community_undo_delete_message, id: 702869
    Device sessions

    3. test_community_navigate_to_channel_when_relaunch, id: 702846
    Device sessions

    4. test_community_mute_community_and_channel, id: 703382
    Device sessions

    Class TestDeepLinksOneDevice:

    1. test_links_open_universal_links_from_chat, id: 704613
    Device sessions

    2. test_links_open_universal_links_from_other_apps, id: 704614
    Device sessions

    3. test_links_deep_links, id: 702775
    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 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_mentions_push_notification, id: 702786
    Device sessions

    4. test_community_leave, id: 702845
    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 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 TestCommunityMultipleDeviceMerged:

    1. test_community_one_image_send_reply, id: 702859
    Device sessions

    2. test_community_mark_all_messages_as_read, id: 703086
    Device sessions

    3. test_community_contact_block_unblock_offline, id: 702894
    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_links_with_previews_github_youtube_twitter_gif_send_enable, id: 702844
    Device sessions

    7. test_community_message_edit, id: 702843
    Device sessions

    8. test_community_unread_messages_badge, id: 702841
    Device sessions

    @VolodLytvynenko
    Copy link
    Contributor

    VolodLytvynenko commented Dec 4, 2023

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

    Should the user's ENS still be visible across different networks after switching networks?

    Question 1/ ISSUE 1 Displaying user's ENS across different networks

    Steps to Reproduce:

    1. Recover the seed phrase with ENS purchased on Goerli.
    2. Go to Advanced -> Network -> switch to mainnet.
    3. Add any contact.
    4. Send a message.
    5. Check your ENS.

    Actual Result:

    The user's ENS is still displayed within chats, profile, and after sending messages, even after switching networks.
    image
    image

    Expected Result:

    The user's ENS should not be visible or displayed after switching to a different network

    Additional info:

    Please let me know if you don't have an account with ENS on goerli and I can share the seed phrase via private message

    Logs:

    Status-debug-logs.zip

    @VolodLytvynenko
    Copy link
    Contributor

    ISSUE 2: ENS resolution purchased on Goerli for others users across mainnet network

    Steps:

    1. Recover the seed phrase with ENS purchased on Goerli.
    2. Go to Advanced -> Network -> switch to mainnet.
    3. Login as newly created User B -> Go to Advanced -> Network -> switch to mainnet.
    4. Add User B to contacts.
    5. Send a message to User B
    6. Wait 1 minute
    7. Check ENS in message as User B.

    Actual result:

    The ENS associated with User A is displayed for User B, even if both users are on the mainnet, and ENS was bought on Goerli.

    Expected result:

    The ENS of User A should not be shown for User B if both in mainnet network

    Logs:

    User A logs:
    Status-debug-logs.zip

    User B logs:
    logs (4).zip

    @status-im-auto
    Copy link
    Member

    78% of end-end tests have passed

    Total executed tests: 9
    Failed tests: 1
    Expected to fail tests: 1
    Passed tests: 7
    
    IDs of failed tests: 703133 
    
    IDs of expected to fail tests: 702808 
    

    Failed tests (1)

    Click to expand
  • Rerun failed tests

  • Class TestCommunityOneDeviceMerged:

    1. test_restore_multiaccount_with_waku_backup_remove_switch, id: 703133

    Device 1: Tap on found: Button
    Device 1: Wait for element `Button` for max 30s and click when it is available

    critical/chats/test_public_chat_browsing.py:193: in test_restore_multiaccount_with_waku_backup_remove_switch
        self.sign_in.recover_access(passphrase=waku_user.seed, second_user=True)
    ../views/sign_in_view.py:276: in recover_access
        self.identifiers_button.wait_and_click(30)
    ../views/base_element.py:96: in wait_and_click
        self.wait_for_visibility_of_element(sec)
    ../views/base_element.py:139: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 1: Button by accessibility id:`skip-identifiers` is not found on the screen after wait_for_visibility_of_element
    



    Device sessions

    Expected to fail tests (1)

    Click to expand

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

    Passed tests (7)

    Click to expand

    Class TestCommunityMultipleDeviceMergedTwo:

    1. test_community_join_when_node_owner_offline, id: 703629
    Device sessions

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_several_images_send_reply, id: 703194
    Device sessions

    2. test_community_emoji_send_copy_paste_reply, id: 702840
    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

    @VolodLytvynenko
    Copy link
    Contributor

    that's ok if this issue is not in scope of this PR and will be fixed in separately

    ISSUE 3: Identifier rings not displayed for other users in different networks

    Steps to Reproduce:

    1. Recover User A with ENS purchased on Mainnet.
    2. User A switches the network to Mainnet.
    3. User A adds User B to contacts, who is on the Goerli network.
    4. User A sends messages to User B.
    5. User B checks the data of User A.

    Actual Result:

    Identifier rings representing User Ais with display name for are not displayed for User B.
    image

    Expected Result:

    If the user's display name is shown, the identifier rings should also be displayed

    Logs:

    @qfrank
    Copy link
    Contributor Author

    qfrank commented Dec 5, 2023

    Hi @VolodLytvynenko , thank you for your feedback, issue 1-3 is not an issue IMO, they're relate to how ENS get verified. cc @cammellos

    Verification of ENS should be on mainnet unless specifically set in the config. This is a build time config, and not something the user can change (i.e if you change from mainnet to goerli, verification is not impacted, it's set at build time). Testing builds can be set to goerli, but release build should be set to mainnet and cannot be changed.

    @VolodLytvynenko
    Copy link
    Contributor

    • After sync ens name, user should only see the corresponding ens name depend on which network they're using.

    @qfrank Understood. I thought this PR also addresses the issue of displaying Goerli ENS for mainnet users. As described in issue 2 the ENS purchased on Goerli is visible for users who are on the mainnet.

    @qfrank
    Copy link
    Contributor Author

    qfrank commented Dec 5, 2023

    • After sync ens name, user should only see the corresponding ens name depend on which network they're using.

    @qfrank Understood. I thought this PR also addresses the issue of displaying Goerli ENS for mainnet users. As described in issue 2 the ENS purchased on Goerli is visible for users who are on the mainnet.

    sorry for the confusion , just updated Testing notes, I think we're not going to fix issue 1-3 in a short time(or maybe no plan to fix such issue) since it won't impact anyone else other than your devices. WDYT? @VolodLytvynenko

    @VolodLytvynenko
    Copy link
    Contributor

    sorry for the confusion , just updated Testing notes, I think we're not going to fix issue 1-3 in a short time(or maybe no plan to fix such issue) since it won't impact anyone else other than your devices. WDYT? @VolodLytvynenko

    @qfrank I think that's ok. Thank you for your. No issues from my side. PR is ready to be merged

    @VolodLytvynenko
    Copy link
    Contributor

    Hi @cammellos This PR has been tested and is ready for merging. Could you please review issue 2 and approve it if it's suitable to be not fixed for now?

    @VolodLytvynenko
    Copy link
    Contributor

    Hi @qfrank sorry for the delay. Discussed this PR with @cammellos . PR can be merged. Thank you!

    @qfrank qfrank force-pushed the adapt-ens-names-data-structure branch from 4cd1051 to 44e8f32 Compare December 6, 2023 01:48
    @qfrank qfrank merged commit 5ebd133 into develop Dec 6, 2023
    6 checks passed
    @qfrank qfrank deleted the adapt-ens-names-data-structure branch December 6, 2023 02:04
    yevh-berdnyk pushed a commit that referenced this pull request Dec 8, 2023
    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.

    7 participants