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

Pinning contact request message leads to a crash #20131 #20132

Merged

Conversation

flexsurfer
Copy link
Member

fixes #20131

@status-im-auto
Copy link
Member

status-im-auto commented May 21, 2024

Jenkins Builds

Click to see older builds (4)
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 79b191a #1 2024-05-21 12:06:45 ~6 min android-e2e 🤖apk 📲
✔️ 79b191a #1 2024-05-21 12:07:15 ~6 min tests 📄log
✔️ 79b191a #1 2024-05-21 12:07:59 ~7 min android 🤖apk 📲
✔️ 79b191a #1 2024-05-21 12:10:25 ~10 min ios 📱ipa 📲
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 78e2493 #2 2024-05-22 10:50:00 ~5 min tests 📄log
✔️ 78e2493 #2 2024-05-22 10:51:40 ~7 min android 🤖apk 📲
✔️ 78e2493 #2 2024-05-22 10:53:16 ~8 min android-e2e 🤖apk 📲
✔️ 78e2493 #2 2024-05-22 10:54:20 ~9 min ios 📱ipa 📲
✔️ 1f00da2 #3 2024-05-22 13:31:36 ~4 min tests 📄log
✔️ 1f00da2 #3 2024-05-22 13:33:30 ~6 min android-e2e 🤖apk 📲
✔️ 1f00da2 #3 2024-05-22 13:34:48 ~7 min android 🤖apk 📲
✔️ 1f00da2 #3 2024-05-22 13:35:43 ~8 min ios 📱ipa 📲
✔️ 1f00da2 #4 2024-05-22 14:50:31 ~7 min android-e2e 🤖apk 📲
✔️ 1f00da2 #4 2024-05-22 14:50:36 ~7 min android 🤖apk 📲
✔️ 1f00da2 #4 2024-05-22 14:51:43 ~8 min ios 📱ipa 📲

@status-im-auto
Copy link
Member

83% of end-end tests have passed

Total executed tests: 52
Failed tests: 7
Expected to fail tests: 2
Passed tests: 43
IDs of failed tests: 727230,702732,703297,727229,702807,702808,727232 
IDs of expected to fail tests: 703495,703503 

Failed tests (7)

Click to expand
  • Rerun failed tests

  • Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_pin_messages, id: 702732

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

    critical/chats/test_group_chat.py:342: in test_group_chat_pin_messages
        self.chats[1].chat_element_by_text(self.message_1).long_press_element()
    ../views/base_element.py:321: in long_press_element
        element = self.find_element()
    ../views/chat_view.py:116: in find_element
        self.wait_for_visibility_of_element(20)
    ../views/base_element.py:147: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: ChatElementByText by xpath:`//*[starts-with(@text,'Message 1')]/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_send_image_save_and_share, id: 703297

    Device 3: Find Button by accessibility id: save-image
    Device 3: Tap on found: Button

    critical/chats/test_group_chat.py:254: in test_group_chat_send_image_save_and_share
        toast_element_text = toast_element.wait_for_visibility_of_element().text
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webelement.py:90: in text
        return self._execute(Command.GET_ELEMENT_TEXT)["value"]
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webelement.py:395: in _execute
        return self._parent.execute(command, params)
    ../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:345: in execute
        self.error_handler.check_response(response)
    ../../../../status-app-prs@tmp/venv/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.accessibilityId: toast-content' 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.accessibilityId: toast-content' 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.GetText.safeHandle(GetText.java:20)
    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:1012)
    



    Device sessions

    3. test_group_chat_join_send_text_messages_push, id: 702807

    Device 2: Tap on found: Text
    Device 2: Find Text by xpath: //*[starts-with(@text,'Hey, admin!')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']//*[@content-desc='message-status']/android.widget.TextView

    critical/chats/test_group_chat.py:95: in test_group_chat_join_send_text_messages_push
        self.chats[1].chat_element_by_text(message_to_admin).wait_for_status_to_be('Delivered', timeout=120)
    ../views/chat_view.py:221: in wait_for_status_to_be
        current_status = self.status
    ../views/chat_view.py:209: in status
        status = status_element.text
    ../views/base_element.py:416: in text
        text = self.find_element().text
    ../views/base_element.py:79: in find_element
        raise NoSuchElementException(
     Device 2: Text by xpath: `//*[starts-with(@text,'Hey, admin!')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']//*[@content-desc='message-status']/android.widget.TextView` 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

    4. test_group_chat_offline_pn, id: 702808

    Device 2: Tap on found: SendMessageButton
    Device 3: Sending message 'message from new member'

    critical/chats/test_group_chat.py:300: in test_group_chat_offline_pn
        self.chats[2].send_message(message_2)
    ../views/chat_view.py:982: in send_message
        self.chat_message_input.wait_for_element(wait_chat_input_sec)
    ../views/base_element.py:129: in wait_for_element
        raise TimeoutException(
     Device `3`: `ChatMessageInput` by` accessibility id`: `chat-message-input` is not found on the screen after wait_for_element
    



    Device sessions

    Class TestWalletMultipleDevice:

    1. test_wallet_send_asset_from_drawer, id: 727230

    # STEP: Getting ETH amount in the wallet of the sender before transaction
    Device 1: Find WalletTab by accessibility id: wallet-stack-tab

    critical/test_wallet.py:119: in test_wallet_send_asset_from_drawer
        sender_balance, receiver_balance, eth_amount_sender, eth_amount_receiver = self._get_balances_before_tx()
    critical/test_wallet.py:41: in _get_balances_before_tx
        self.wallet_1.wallet_tab.click()
    ../views/base_element.py:90: in click
        element = self.find_element()
    ../views/base_element.py:79: in find_element
        raise NoSuchElementException(
     Device 1: WalletTab by accessibility id: `wallet-stack-tab` 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
    



    2. test_wallet_send_eth, id: 727229

    Device 1: Swiping right on element SlideButton
    Device 1: Find SlideButton by xpath: //*[@resource-id='slide-button-track']

    critical/test_wallet.py:111: in test_wallet_send_eth
        self.wallet_1.send_asset(address=self.receiver['address'], asset_name='Ether', amount=amount_to_send)
    ../views/wallet_view.py:100: in send_asset
        self.confirm_transaction()
    ../views/wallet_view.py:87: in confirm_transaction
        self.slide_and_confirm_with_password()
    ../views/wallet_view.py:81: in slide_and_confirm_with_password
        self.slide_button_track.slide()
    ../views/base_view.py:257: in slide
        self.swipe_right_on_element(width_percentage=1.3, start_x=100)
    ../views/base_element.py:308: in swipe_right_on_element
        location, size = self.get_element_coordinates()
    ../views/base_element.py:294: in get_element_coordinates
        element = self.find_element()
    ../views/base_element.py:79: in find_element
        raise NoSuchElementException(
     Device 1: SlideButton by xpath: `//*[@resource-id='slide-button-track']` 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
    



    Class TestWalletOneDevice:

    1. test_wallet_add_remove_watch_only_account, id: 727232

    Device 1: Text is eth:oeth:arb1:0x8d2413447ff297d30bdc475f6d5cb00254685aae
    Device 1: Click system back button

    critical/test_wallet.py:212: in test_wallet_add_remove_watch_only_account
        self.home_view.driver.fail(
    base_test_case.py:178: in fail
        pytest.fail('Device %s: %s' % (self.number, text))
     Device 1: Incorrect address 'eth:oeth:arb1:0x8d2413447ff297d30bdc475f6d5cb00254685aae' is shown when swiping between accounts, expected one is '0:x:8:d:2:4:1:3:4:4:7:f:f:2:9:7:d:3:0:b:d:c:4:7:5:f:6:d:5:c:b:0:0:2:5:4:6:8:5:a:a:e'
    



    Device sessions

    Expected to fail tests (2)

    Click to expand

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_mute_chat, id: 703495

    # STEP: Change device time so chat will be unmuted by timer
    Device 2: Long press on ChatElement

    critical/chats/test_group_chat.py:464: in test_group_chat_mute_chat
        self.errors.verify_no_errors()
    base_test_case.py:190: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Message text 'Text message in the muted chat' is not shown in chat preview after mute
    E    Message 'Text message in the muted chat' is not shown in chat for member_1 after mute
    E    Chat is still muted after timeout 
    

    [[Chat is not unmuted after expected time: https://github.com//issues/19627]]

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

    Passed tests (43)

    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 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_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 TestWalletOneDevice:

    1. test_wallet_add_remove_regular_account, id: 727231
    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_pin_messages, id: 702731
    Device sessions

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

    5. test_community_join_when_node_owner_offline, id: 703629
    Device sessions

    Class TestDeepLinksOneDevice:

    1. test_links_open_universal_links_from_chat, id: 704613
    Device sessions

    2. test_links_deep_links, id: 702775
    Device sessions

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_reactions, id: 703202
    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 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_undo_delete_message, id: 702869
    Device sessions

    4. test_community_navigate_to_channel_when_relaunch, id: 702846
    Device sessions

    5. test_community_mute_community_and_channel, id: 703382
    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_edit_delete_message_when_offline, id: 704615
    Device sessions

    7. test_community_message_delete, id: 702839
    Device sessions

    8. test_community_message_send_check_timestamps_sender_username, id: 702838
    Device sessions

    9. test_community_links_with_previews_github_youtube_twitter_gif_send_enable, id: 702844
    Device sessions

    10. test_community_message_edit, id: 702843
    Device sessions

    11. test_community_unread_messages_badge, id: 702841
    Device sessions

    @mariia-skrypnyk mariia-skrypnyk self-assigned this May 22, 2024
    @mariia-skrypnyk mariia-skrypnyk force-pushed the bug/Pinning_contact_request_message_leads_to_a_crash_#20131 branch from 79b191a to 78e2493 Compare May 22, 2024 10:44
    @mariia-skrypnyk
    Copy link

    Hi @flexsurfer !
    Thanks for your fix.
    Looks good on both platforms.
    One E2E is under investigation, will send an update soon. 🙏

    @pavloburykh
    Copy link
    Contributor

    pavloburykh commented May 22, 2024

    Hey @flexsurfer! Thank you for the PR. @mariia-skrypnyk tested the fix of initial crash and it seems to work fine.

    Although I have faced another crash while pinning a message Bridged from Discord. I am wondering if we can handle it in this PR or should I log it separately?

    ISSUE 1 App crashes when Desktop pins message Bridged from Discord

    Steps:

    1. Recover member of Status community on mobile and desktop
    2. From Desktop pin any Bridged from Discord messages
    3. Open channel with pinned message on mobile
    4. Observe the result

    Actual result: app crashes with Index of bounds error

    Status-debug-logs - 2024-05-22T152729.634.zip

    telegram-cloud-document-2-5364273758813046503.1.mp4

    @flexsurfer
    Copy link
    Member Author

    thanks @pavloburykh should be fixed now, but all possible types of pinned messages should be tested

    @pavloburykh
    Copy link
    Contributor

    thanks @pavloburykh should be fixed now, but all possible types of pinned messages should be tested

    thank you @flexsurfer! The crash is fixed.

    I see there are some other UI issues related to pinned bridged messages on mobile. Mind, that if it is not trivial to fix them - I believe we can ignore, as they are related only to pinned bridged messages.

    1. Pinned bridged messages are not shown within Pinned preview.
    2. There is no pinned icon and the name who pinned bridged message
    3. There is no message preview within system message about pinning bridged message

    photo_2024-05-22 16 58 50

    Here is an example of expected result, how it looks like in case of pinning not bridged message:

    photo_2024-05-22 17 03 04
    photo_2024-05-22 17 03 08

    @pavloburykh
    Copy link
    Contributor

    I see there are some other UI issues related to pinned bridged messages on mobile. Mind, that if it is not trivial to fix them - I believe we can ignore, as they are related only to pinned bridged messages.

    @flexsurfer I think it does not make sense to spend time on fixing these issues for now. So once @mariia-skrypnyk approves the PR - we are ready for merge.

    @mariia-skrypnyk
    Copy link

    @flexsurfer thanks for waiting.
    Failed tests are not related.
    I double checked pinned scenarios and all looks good.
    PR can be merged!
    @pavloburykh I'll create issues as followups minors. Thanks for help!

    @flexsurfer flexsurfer reopened this May 22, 2024
    @flexsurfer flexsurfer merged commit 47b4ab9 into develop May 22, 2024
    3 of 6 checks passed
    @flexsurfer flexsurfer deleted the bug/Pinning_contact_request_message_leads_to_a_crash_#20131 branch May 22, 2024 14:43
    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.

    Pinning contact request message leads to a crash
    5 participants