Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: handle network change for filter subs #21863

Draft
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

chaitanyaprem
Copy link
Contributor

@chaitanyaprem chaitanyaprem commented Dec 23, 2024

fixes filter not working when network switches from wifi to cellular.
Corresponding status go PR status-im/status-go#6232

Summary

Platforms

  • Android
  • iOS
Functional
  • 1-1 chats
  • public chats
  • group chats

Steps to test

I would suggest testing network change (wifi to cellular, cellular to wifi etc) scenarios and reception of messages prior and after network change. Following are scenarios that should get validated

  • start app when connected to wifi and switch to cellular by disabilng wifi
  • start app when connected to Cellular only and switch on wifi
  • switch between cellular and wifi multiple times to verify receiving messages

status: ready

Risk

Described potential risks and worst case scenarios.

Tick one:

  • Low risk: 2 devs MUST perform testing as specified above and attach their results as comments to this PR before merging.
  • High risk: QA team MUST perform additional testing in the specified affected areas before merging.

@status-im-auto
Copy link
Member

status-im-auto commented Dec 23, 2024

Jenkins Builds

Click to see older builds (44)
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 4320b8f #1 2024-12-23 10:05:35 ~5 min tests 📄log
✔️ 4320b8f #1 2024-12-23 10:08:44 ~8 min ios 📱ipa 📲
✔️ 4320b8f #1 2024-12-23 10:09:32 ~9 min android-e2e 🤖apk 📲
✔️ 4320b8f #1 2024-12-23 10:10:59 ~10 min android 🤖apk 📲
✔️ afb6c14 #3 2024-12-24 05:34:59 ~5 min tests 📄log
✔️ afb6c14 #3 2024-12-24 05:36:53 ~7 min android-e2e 🤖apk 📲
✔️ afb6c14 #3 2024-12-24 05:38:39 ~9 min ios 📱ipa 📲
✔️ afb6c14 #3 2024-12-24 05:39:48 ~10 min android 🤖apk 📲
40a42d2 #4 2024-12-24 09:00:42 ~2 min android 📄log
40a42d2 #4 2024-12-24 09:00:43 ~2 min android-e2e 📄log
40a42d2 #4 2024-12-24 09:01:14 ~2 min tests 📄log
40a42d2 #4 2024-12-24 09:01:55 ~3 min ios 📄log
✔️ 3a2cfa3 #5 2024-12-24 09:14:53 ~5 min tests 📄log
✔️ 3a2cfa3 #5 2024-12-24 09:18:32 ~8 min android-e2e 🤖apk 📲
✔️ 3a2cfa3 #5 2024-12-24 09:19:52 ~10 min ios 📱ipa 📲
✔️ 3a2cfa3 #5 2024-12-24 09:19:53 ~10 min android 🤖apk 📲
✔️ 6a1ccbb #6 2024-12-24 09:45:27 ~4 min tests 📄log
✔️ 6a1ccbb #6 2024-12-24 09:49:02 ~8 min android-e2e 🤖apk 📲
✔️ 6a1ccbb #6 2024-12-24 09:50:24 ~9 min ios 📱ipa 📲
✔️ 6a1ccbb #6 2024-12-24 09:50:33 ~10 min android 🤖apk 📲
✔️ c896820 #8 2024-12-25 05:39:14 ~4 min tests 📄log
✔️ c896820 #8 2024-12-25 05:42:57 ~8 min android-e2e 🤖apk 📲
✔️ c896820 #8 2024-12-25 05:43:33 ~8 min ios 📱ipa 📲
✔️ c896820 #8 2024-12-25 05:43:37 ~8 min android 🤖apk 📲
✔️ c328767 #9 2024-12-25 07:54:42 ~4 min tests 📄log
✔️ c328767 #9 2024-12-25 07:58:35 ~8 min android-e2e 🤖apk 📲
✔️ c328767 #9 2024-12-25 07:59:57 ~10 min ios 📱ipa 📲
✔️ c328767 #9 2024-12-25 07:59:58 ~10 min android 🤖apk 📲
✔️ 67184f6 #10 2024-12-27 04:12:10 ~5 min tests 📄log
✔️ 67184f6 #10 2024-12-27 04:14:01 ~7 min android-e2e 🤖apk 📲
✔️ 67184f6 #10 2024-12-27 04:16:03 ~9 min ios 📱ipa 📲
✔️ 67184f6 #10 2024-12-27 04:16:40 ~10 min android 🤖apk 📲
✔️ 2997d5d #11 2025-01-02 06:27:38 ~4 min tests 📄log
✔️ 2997d5d #11 2025-01-02 06:31:38 ~8 min android-e2e 🤖apk 📲
✔️ 2997d5d #11 2025-01-02 06:31:50 ~9 min ios 📱ipa 📲
✔️ 2997d5d #11 2025-01-02 06:33:00 ~10 min android 🤖apk 📲
✔️ e1c7073 #12 2025-01-02 08:17:51 ~4 min tests 📄log
✔️ e1c7073 #12 2025-01-02 08:21:45 ~8 min android-e2e 🤖apk 📲
✔️ e1c7073 #12 2025-01-02 08:22:57 ~9 min ios 📱ipa 📲
✔️ e1c7073 #12 2025-01-02 08:23:14 ~10 min android 🤖apk 📲
✔️ 8be9a47 #13 2025-01-02 10:04:37 ~5 min tests 📄log
✔️ 8be9a47 #13 2025-01-02 10:06:54 ~7 min android-e2e 🤖apk 📲
✔️ 8be9a47 #13 2025-01-02 10:08:20 ~8 min android 🤖apk 📲
✔️ 8be9a47 #13 2025-01-02 10:09:20 ~9 min ios 📱ipa 📲
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ aa54f33 #14 2025-01-02 11:06:47 ~6 min tests 📄log
✔️ aa54f33 #14 2025-01-02 11:07:40 ~7 min android-e2e 🤖apk 📲
✔️ aa54f33 #14 2025-01-02 11:10:09 ~9 min ios 📱ipa 📲
✔️ aa54f33 #14 2025-01-02 11:11:22 ~10 min android 🤖apk 📲
✔️ 08c1b84 #2 2025-01-08 02:04:48 ~6 min tests 📄log
✔️ 08c1b84 #2 2025-01-08 02:08:02 ~9 min ios 📱ipa 📲
✔️ 08c1b84 #2 2025-01-08 02:08:24 ~10 min android-e2e 🤖apk 📲
✔️ 08c1b84 #2 2025-01-08 02:09:44 ~11 min android 🤖apk 📲

@chaitanyaprem chaitanyaprem force-pushed the fix/filter-network-change branch 9 times, most recently from c328767 to 67184f6 Compare December 27, 2024 04:06
@chaitanyaprem chaitanyaprem force-pushed the fix/filter-network-change branch 4 times, most recently from 8be9a47 to aa54f33 Compare January 2, 2025 11:00
@chaitanyaprem
Copy link
Contributor Author

Closing this as testing is complete and issue has been addressed.

@chaitanyaprem chaitanyaprem force-pushed the fix/filter-network-change branch from aa54f33 to 08c1b84 Compare January 8, 2025 01:57
@chaitanyaprem
Copy link
Contributor Author

chaitanyaprem commented Jan 8, 2025

This is a fix added to handle network change in mobile between wifi and cellular where filter stops working after switch from wifi to cellular.

I have tested with network change and did not notice any issues, infact it was fixed.

@churik @pavloburykh i would like e2e tests to run in order to get sanity before i merge the underlying status-go PR. Would also be great if we can test network switch scenarios.

@ilmotta , if we are planning to do an intermediate 2.32.1 , i would recommend we include this change as well along with improved reliability. This PR as mentioned fixes some issues with filter noticed with network change scenario.

@status-im-auto
Copy link
Member

89% of end-end tests have passed

Total executed tests: 56
Failed tests: 4
Expected to fail tests: 2
Passed tests: 50
IDs of failed tests: 703133,704613,727229,739307 
IDs of expected to fail tests: 702844,703503 

Failed tests (4)

Click to expand
  • Rerun failed tests

  • Class TestCommunityOneDeviceMerged:

    1. test_restore_multiaccount_with_waku_backup_remove_profile_switch, id: 703133

    Device 1: Tap on found: Button
    # STEP: Check that removed user is not shown in the list anymore

    critical/chats/test_public_chat_browsing.py:240: in test_restore_multiaccount_with_waku_backup_remove_profile_switch
        self.errors.verify_no_errors()
    base_test_case.py:176: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     zQ3...dWXh5 was not restored as a contact from waku backup!
    E    zQ3...Vacac was not restored as a contact from waku backup!
    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 TestWalletMultipleDevice:

    1. test_wallet_send_eth, id: 727229

    Device 2: Find Text by xpath: //android.view.ViewGroup[@content-desc='container']/android.widget.TextView[@text='Ether']/../android.widget.TextView[3]
    Device 2: Text is 0.15599 ETH

    critical/test_wallet.py:165: in test_wallet_send_eth
        self.errors.verify_no_errors()
    base_test_case.py:176: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Eth amount in the shhWMbdtFbqsHau8w2CJ's wallet is 0.156 but should be 0.1561
    



    Class TestDeepLinksOneDevice:

    1. test_links_open_universal_links_from_chat, id: 704613

    Device 1: Find Text by xpath: //android.view.ViewGroup[@content-desc='chat-item']//android.widget.TextView[contains(@text,'https://status.app/u/G10A4B0JdgwyRww90WXtnP1oNH1ZLQNM0yX0Ja9YyAMjrqSZIYINOHCbFhrnKRAcPGStPxCMJDSZlGCKzmZrJcimHY8BbcXlORrElv_BbQEegnMDPx1g9C5VVNl0fE4y#zQ3shwQPhRuDJSjVGVBnTjCdgXy5i9WQaeVPdGJD6yTarJQSj')]

    critical/test_deep_and_universal_links.py:41: in test_links_open_universal_links_from_chat
        self.channel.chat_element_by_text(url).click_on_link_inside_message_body()
    ../views/chat_view.py:129: in click_on_link_inside_message_body
        self.message_body.click_inside_element_by_coordinate(rel_x=0.1, rel_y=0.9)
    ../views/base_element.py:347: in click_inside_element_by_coordinate
        location, size = self.get_element_coordinates()
    ../views/base_element.py:283: in get_element_coordinates
        location = element.location
    ../../../../status-app-prs-rerun@2@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webelement.py:286: in location
        old_loc = self._execute(Command.GET_ELEMENT_RECT)["value"]
    ../../../../status-app-prs-rerun@2@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webelement.py:395: in _execute
        return self._parent.execute(command, params)
    ../../../../status-app-prs-rerun@2@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:345: in execute
        self.error_handler.check_response(response)
    ../../../../status-app-prs-rerun@2@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.xpath: //android.view.ViewGroup[@content-desc='chat-item']//android.widget.TextView[contains(@text,'https://status.app/u/G10A4B0JdgwyRww90WXtnP1oNH1ZLQNM0yX0Ja9YyAMjrqSZIYINOHCbFhrnKRAcPGStPxCMJDSZlGCKzmZrJcimHY8BbcXlORrElv_BbQEegnMDPx1g9C5VVNl0fE4y#zQ3shwQPhRuDJSjVGVBnTjCdgXy5i9WQaeVPdGJD6yTarJQSj')]' is not linked to the same object 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: //android.view.ViewGroup[@content-desc='chat-item']//android.widget.TextView[contains(@text,'https://status.app/u/G10A4B0JdgwyRww90WXtnP1oNH1ZLQNM0yX0Ja9YyAMjrqSZIYINOHCbFhrnKRAcPGStPxCMJDSZlGCKzmZrJcimHY8BbcXlORrElv_BbQEegnMDPx1g9C5VVNl0fE4y#zQ3shwQPhRuDJSjVGVBnTjCdgXy5i9WQaeVPdGJD6yTarJQSj')]' is not linked to the same object in DOM anymore
    E   	at io.appium.uiautomator2.model.ElementsCache.restore(ElementsCache.java:122)
    E   	at io.appium.uiautomator2.model.ElementsCache.get(ElementsCache.java:153)
    E   	at io.appium.uiautomator2.handler.GetRect.safeHandle(GetRect.java:40)
    E   	at io.appium.uiautomator2.handler.request.SafeRequestHandler.handle(SafeRequestHandler.java:59)
    E   	at io.appium.uiautomator2.server.AppiumServlet.handleRequest(AppiumServlet.java:259)
    E   	at io.appium.uiautomator2.server.AppiumServlet.handleHttpRequest(AppiumServlet.java:253)
    E   	at io.appium.uiautomator2.http.ServerHandler.channelRead(ServerHandler.java:77)
    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

    2. test_deep_links_communities, id: 739307

    # STEP: Opening community 'SNT community' by the link status-app://c/Cx2ACjkKDVNOVCBjb21tdW5pdHkSHXJlcXVpcmUgMTAgU05UIFNlcG9saWEgdG8gdXNlGAEiByNlYWI3MDAD#zQ3shhvFq7uk5DjfYCGGC6EJjMhMoFxuSdeJBu476t8c7S8RM
    Device 1: Open url 'status-app://c/Cx2ACjkKDVNOVCBjb21tdW5pdHkSHXJlcXVpcmUgMTAgU05UIFNlcG9saWEgdG8gdXNlGAEiByNlYWI3MDAD#zQ3shhvFq7uk5DjfYCGGC6EJjMhMoFxuSdeJBu476t8c7S8RM'

    critical/test_deep_and_universal_links.py:103: in test_deep_links_communities
        self.browser_view.open_url(link)
    ../views/dapps_view.py:19: in open_url
        self.enter_url_editbox.wait_for_visibility_of_element(20)
    ../views/base_element.py:146: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 1: EditBox by accessibility id:`dapp-url-input` is not found on the screen after wait_for_visibility_of_element
    



    Device sessions

    Expected to fail tests (2)

    Click to expand

    Class TestCommunityMultipleDeviceMerged:

    1. 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[2]
    Device 2: Element EmojisNumber text is equal to 1

    critical/chats/test_public_chat_browsing.py:652: in test_community_links_with_previews_github_youtube_twitter_gif_send_enable
        self.errors.verify_no_errors()
    base_test_case.py:176: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     No preview is loaded for url https://youtu.be/Je7yErjEVt4
    E    No preview is loaded for url https://www.youtube.com/watch?v=XN-SVmuJH2g&list=PLbrz7IuP1hrgNtYe9g6YHwHO6F3OqNMao
    E    No preview is loaded for url https://m.youtube.com/watch?v=Je7yErjEVt4 
    

    [[Youtube links preview is not loaded on LambdaTest emulators, needs investigation]]

    Device sessions

    Class TestCommunityOneDeviceMerged:

    1. test_community_discovery, id: 703503

    Device 1: Tap on found: Button
    # STEP: Check Status community tags in the Discover communities screen

    critical/chats/test_public_chat_browsing.py:297: in test_community_discovery
        self.errors.verify_no_errors()
    base_test_case.py:176: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Community 'Status' is not in the Discover Communities list. 
    

    [[Might fail if the Discover curation dapp is too slow to load > 2 mins]]

    Device sessions

    Passed tests (50)

    Click to expand

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

    8. test_community_one_image_send_reply, id: 702859
    Device sessions

    9. test_community_message_edit, id: 702843
    Device sessions

    10. test_community_several_images_send_reply, id: 703194
    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 TestCommunityMultipleDeviceMergedTwo:

    1. test_community_leave, id: 702845
    Device sessions

    2. test_community_mentions_push_notification, id: 702786
    Device sessions

    3. test_community_markdown_support, id: 702809
    Device sessions

    4. test_community_hashtag_links_to_community_channels, id: 702948
    Device sessions

    5. test_community_join_when_node_owner_offline, id: 703629
    Device sessions

    Class TestActivityMultipleDevicePR:

    1. test_activity_center_reply_read_unread_delete_filter_swipe, id: 702947
    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_reactions, id: 703202
    Device sessions

    2. test_group_chat_join_send_text_messages_push, id: 702807
    Device sessions

    3. test_group_chat_offline_pn, id: 702808
    Device sessions

    4. test_group_chat_pin_messages, id: 702732
    Device sessions

    5. test_group_chat_send_image_save_and_share, id: 703297
    Device sessions

    6. test_group_chat_mute_chat, id: 703495
    Device sessions

    Class TestFallbackMultipleDevice:

    1. test_fallback_add_key_pair, id: 741054
    2. test_fallback_sync_with_error, id: 740220
    3. test_fallback_with_correct_seed_phrase, id: 740221
    4. test_fallback_validate_seed_phrase, id: 740222

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

    1. test_wallet_add_remove_regular_account, id: 727231
    2. test_wallet_balance_mainnet, id: 740490

    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_pin_messages, id: 702731
    Device sessions

    5. test_1_1_chat_text_message_delete_push_disappear, id: 702733
    Device sessions

    6. test_1_1_chat_push_emoji, id: 702813
    Device sessions

    7. test_1_1_chat_emoji_send_reply_and_open_link, id: 702782
    Device sessions

    8. test_1_1_chat_send_image_save_and_share, id: 703391
    Device sessions

    Class TestWalletMultipleDevice:

    1. test_wallet_send_asset_from_drawer, id: 727230

    Class TestDeepLinksOneDevice:

    1. test_links_deep_links_profile, id: 702775
    Device sessions

    @ilmotta
    Copy link
    Contributor

    ilmotta commented Jan 8, 2025

    @ilmotta , if we are planning to do an intermediate 2.32.1 , i would recommend we include this change as well along with improved reliability. This PR as mentioned fixes some issues with filter noticed with network change scenario.

    Thanks for suggesting the change coming soon from status-im/status-go#6232. By next week we hope to define if we are going to release 2.32.1 and what we want to include.

    I did a quick check, and git conflicts are getting in the way, although they are probably solvable. go-waku versions have drifted from status-go release and develop branches. This other merge commit status-im/status-go@e7cc535 also needs to be brought in onto the status-go release branch before the others, otherwise more conflicts arise.

    @Horupa-Olena
    Copy link

    @chaitanyaprem @ilmotta @churik

    Testing Summary Report

    Devices and Builds:

    • Xiaomi 11 Lite 5G NE (Android 14, PR build)
    • iPhone SE (iOS 17.5.1, PR build)
    • Desktop Application (Nightly build)

    Scope of Testing:
    This PR focused on testing message reception in the following contexts:

    • 1-1 Chats,
    • Group Chats,
    • Communities from both desktop and another mobile device.

    User Scenarios:

    • New user.
    • Restored user with extensive data (20 contacts, 10 group chats, 3 communities).

    ### Tested Situations:

    • App launch on Wi-Fi, switching to mobile data.
    • Switching between networks: Wi-Fi → Mobile data → Wi-Fi → Mobile data, with both Wi-Fi only and Mobile data + Wi-Fi options.
    • App launch on mobile data, then switching to Wi-Fi.
    • Transitions between Online/Offline/Online states.

    General Observations:

    Messages were received promptly with minimal delays in most cases.

    Issues Identified:

    Issue 1: Prolonged Delay in Group Chat Message Reception (3-4 minutes)
    Steps to Reproduce:

    1. Launch the app with Wi-Fi enabled.
    2. Switch to mobile data.
    3. Select the Wi-Fi Only option in settings.
    4. Send messages to a group chat from both desktop and another mobile device.

    Expected Result:
    Messages are received with minimal delay, similar to 1-1 chats and communities.

    Actual Result:
    Some messages are received immediately, while others experience a delay of 3-4 minutes.

    Issue 2: Community Message History Loss (50% Missing)
    Steps to Reproduce:

    1. Launch the app with mobile data enabled.
    2. Switch to Wi-Fi.
    3. Wait for all data to fetch.
    4. Open the community and check the message history for the past two days.

    Expected Result:
    All messages are fetched and displayed as on the desktop.

    Actual Result:
    50% of the messages are missing and do not fetch, even after an hour.
    Log:
    Status-debug-logs (5).zip

    Additional Reproduction Scenario:

    While on mobile data, select Mobile Data + Wi-Fi in settings.
    After fetching all data, check the community channel history for the past two days.
    The same issue persists.
    Log: Status-debug-logs (6).zip

    @Horupa-Olena
    Copy link

    @chaitanyaprem Could you please confirm whether these are actual bugs or expected behavior?

    Issue 1 doesn’t entirely look like a bug, but since group chats don’t exhibit similar problems in other scenarios and everything works fine under the same conditions for 1-1 chats and communities, I decided to report it as a separate issue.

    Issue 2 seems similar to this bug, and I’m unsure if it can be resolved by this PR or if a specific solution is required.

    @chaitanyaprem
    Copy link
    Contributor Author

    chaitanyaprem commented Jan 9, 2025

    @chaitanyaprem Could you please confirm whether these are actual bugs or expected behavior?

    Issue 1 doesn’t entirely look like a bug, but since group chats don’t exhibit similar problems in other scenarios and everything works fine under the same conditions for 1-1 chats and communities, I decided to report it as a separate issue.

    Issue 2 seems similar to this bug, and I’m unsure if it can be resolved by this PR or if a specific solution is required.

    Thanks for the detailed tests @Horupa-Olena

    Issue-2 definitely doesn't seem to be related to this PR and probably an issue with store nodes or history query when there is a network change.

    issue-1 seems interesting. Delay of 3-4 minutes means that periodic store query seems to be getting delayed by that much time which should not happen. Odd that this is not happening for communities or 1-1 chats but only group chats.

    1. Is it consistently occuring or happening few times?
    2. and what does this mean? Select the Wi-Fi Only option in settings.
    3. When you say some message are received immediately, are these belonging to the same group chat or message for 1 of the groups were received and others were not.

    Lastly could you share the content-topic and envelopeHash/messageHash of a message that was received and 1 that was not received. it would help debug quicker.

    @Horupa-Olena
    Copy link

    Thanks for the detailed tests @Horupa-Olena

    Issue-2 definitely doesn't seem to be related to this PR and probably an issue with store nodes or history query when there is a network change.

    Thank you for your response!
    I’ll create a separate report for Issue-2.

    issue-1 seems interesting. Delay of 3-4 minutes means that periodic store query seems to be getting delayed by that much time which should not happen. Odd that this is not happening for communities or 1-1 chats but only group chats.

    1. Is it consistently occuring or happening few times?
    2. and what does this mean? Select the Wi-Fi Only option in settings.
    3. When you say some message are received immediately, are these belonging to the same group chat or message for 1 of the groups were received and others were not.
    1. Regarding Issue-1, it typically reproduces during the first network switch from Wi-Fi to mobile data within an open app session. If (without closing the app) I switch back to Wi-Fi and then to mobile data again, the messages are delivered without delays.

    2. When switching to mobile data, a pop-up appears allowing the user to choose how to use data on the mobile network. There are two options: Mobile and Wi-Fi (data syncs and fetches as usual) or Wi-Fi Only, for cases where mobile data is limited or expensive (data isn’t fetched, and the user receives only the messages sent to them whilehe is online). You can find more details about this option here.
      Screenshot_2025-01-09-11-47-19-817_im status ethereum pr

    3. I didn’t quite understand the question. I sent messages to one group chat, and initially, 3-5 messages were delivered immediately, while the rest appeared with a delay of 3-4 minutes. Here’s an example of how it looks on the screenshots (in this case, the delay was 2 minutes).
      IMG_20250109_121423
      IMG_20250109_121455

    Lastly could you share the content-topic and envelopeHash/messageHash of a message that was received and 1 that was not received. it would help debug quicker.

    Could you please advise where I can find this information?

    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Projects
    Status: IN TESTING
    Development

    Successfully merging this pull request may close these issues.

    5 participants