Skip to content

Conversation

qfrank
Copy link
Contributor

@qfrank qfrank commented Apr 23, 2025

Summary

this PR might help fixing issue #22463
when switch Status App in background, onLowMemory / onTrimMemory might be invoked, we get a chance to release some memory back to OS and keep our App stay alive longer rather than being killed.
this PR also added getHistoricalProcessExitReasons

relate status-go PR

logcat log that shows getHistoricalProcessExitReasons works:

2025-05-09 20:03:01.379 18950-18950/im.status.ethereum.debug I/MainApplication: Historical process exit reasons (last 5):
2025-05-09 20:03:01.379 18950-18950/im.status.ethereum.debug I/MainApplication: Exit reason #1:
2025-05-09 20:03:01.379 18950-18950/im.status.ethereum.debug I/MainApplication:   Process: com.google.android.webview:sandboxed_process0:org.chromium.content.app.SandboxedProcessService0:0
2025-05-09 20:03:01.379 18950-18950/im.status.ethereum.debug I/MainApplication:   Reason: 10
2025-05-09 20:03:01.379 18950-18950/im.status.ethereum.debug I/MainApplication:   Timestamp: 1746791035537
2025-05-09 20:03:01.379 18950-18950/im.status.ethereum.debug I/MainApplication:   Description: remove task
2025-05-09 20:03:01.379 18950-18950/im.status.ethereum.debug I/MainApplication:   Importance: 400
2025-05-09 20:03:01.379 18950-18950/im.status.ethereum.debug I/MainApplication:   PSS: 11132 KB
2025-05-09 20:03:01.379 18950-18950/im.status.ethereum.debug I/MainApplication:   RSS: 98092 KB

Testing notes

see if PR build would keep our App stay alive longer in the background, if you can make Android system to trigger onLowMemory or onTrimMemory without using am that would be great! I haven't be able to reproduce ): However, when Status is in the background, you can run adb shell am send-trim-memory 22304 COMPLETE to trigger onLowMemory / onTrimMemory manually. 22304 should be replaced with actual pid of Status.

Platforms

  • Android

Steps to test

  • Open Status and login
  • Keep Status running in the background
  • Wait for some time and try to switch Status back

status: ready.

@qfrank qfrank self-assigned this Apr 23, 2025
@status-github-bot-v2 status-github-bot-v2 bot moved this to CONTRIBUTOR in Pipeline for QA Apr 23, 2025
@qfrank qfrank changed the title feat_: implement onLowMemory and onTrimMemory feat_: implement onLowMemory and onTrimMemory for android Apr 23, 2025
@status-im-auto
Copy link
Member

status-im-auto commented Apr 23, 2025

Jenkins Builds

Click to see older builds (16)
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 6e9116e #1 2025-04-23 10:59:05 ~8 min tests 📄log
✔️ 6e9116e #1 2025-04-23 11:02:20 ~11 min android-e2e 🤖apk 📲
✔️ 6e9116e #1 2025-04-23 11:03:09 ~12 min android 🤖apk 📲
✔️ 6e9116e #1 2025-04-23 11:05:09 ~14 min ios 📱ipa 📲
✔️ ae01e60 #2 2025-04-24 02:32:13 ~5 min tests 📄log
✔️ ae01e60 #2 2025-04-24 02:36:47 ~9 min android-e2e 🤖apk 📲
✔️ ae01e60 #2 2025-04-24 02:37:20 ~10 min android 🤖apk 📲
✔️ ae01e60 #2 2025-04-24 02:38:12 ~11 min ios 📱ipa 📲
✔️ 09625ff #3 2025-05-09 12:22:35 ~5 min tests 📄log
✔️ 09625ff #3 2025-05-09 12:27:06 ~9 min android-e2e 🤖apk 📲
✔️ 09625ff #3 2025-05-09 12:27:46 ~10 min android 🤖apk 📲
✔️ 09625ff #3 2025-05-09 12:29:33 ~12 min ios 📱ipa 📲
✔️ 0115348 #4 2025-05-19 11:55:06 ~5 min tests 📄log
0115348 #4 2025-05-19 11:59:41 ~9 min android-e2e 📄log
0115348 #4 2025-05-19 11:59:41 ~9 min android 📄log
✔️ 0115348 #4 2025-05-19 12:02:30 ~12 min ios 📱ipa 📲
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 3c94a83 #5 2025-05-19 12:20:35 ~4 min tests 📄log
✔️ 3c94a83 #5 2025-05-19 12:24:22 ~8 min android-e2e 🤖apk 📲
✔️ 3c94a83 #5 2025-05-19 12:25:19 ~9 min android 🤖apk 📲
✔️ 3c94a83 #5 2025-05-19 12:30:31 ~14 min ios 📱ipa 📲
✔️ b9ab48b #6 2025-05-20 10:47:50 ~5 min tests 📄log
✔️ b9ab48b #6 2025-05-20 10:50:45 ~8 min android 🤖apk 📲
✔️ b9ab48b #6 2025-05-20 10:52:40 ~10 min android-e2e 🤖apk 📲
✔️ b9ab48b #6 2025-05-20 10:56:44 ~14 min ios 📱ipa 📲

@qfrank
Copy link
Contributor Author

qfrank commented Apr 24, 2025

Tried running this PR build on Redmi 14R 5G with login status in background but didn't enable notification.
After 1 hour, it's been killed with :

04-24 09:16:13.828  2385  3182 I ActivityManager: Killing 12177:im.status.ethereum.pr/u0a291 (adj 901): camera boost

checked go logs, it seems onLowMemory and onTrimMemory hasn't been invoked.

to avoid android OS thinking Status as Cached Process, I'll try another around with enabling notification. When enabling notification, a foreground service will be created, in this case we should not see adj 901 anymore

@qfrank qfrank marked this pull request as ready for review April 24, 2025 10:03
@qfrank
Copy link
Contributor Author

qfrank commented Apr 24, 2025

Tried running this PR build on Redmi 14R 5G with login status in background but didn't enable notification. After 1 hour, it's been killed with :

04-24 09:16:13.828  2385  3182 I ActivityManager: Killing 12177:im.status.ethereum.pr/u0a291 (adj 901): camera boost

checked go logs, it seems onLowMemory and onTrimMemory hasn't been invoked.

to avoid android OS thinking Status as Cached Process, I'll try another around with enabling notification. When enabling notification, a foreground service will be created, in this case we should not see adj 901 anymore

in case of notification enabled, no killing after 5+ hours, switch Status back to foreground normally

@churik
Copy link
Member

churik commented May 12, 2025

@qfrank
Hey!
what is the state of the current PR? should it be moved to Review?

Copy link
Contributor

@Parveshdhull Parveshdhull left a comment

Choose a reason for hiding this comment

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

Thank you @qfrank for your awesome work. PR looks good to me

Copy link
Contributor

@ilmotta ilmotta left a comment

Choose a reason for hiding this comment

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

Nice work @qfrank! Just a quick note, GC tweaks can also impact CPU. Have you checked if there's any spike in CPU usage caused by the forced GC?

There are some minor comments in the status-go PR, but LGTM overall 🚀

@churik churik moved this from CONTRIBUTOR to E2E Tests in Pipeline for QA May 19, 2025
@status-im-auto
Copy link
Member

100% of end-end tests have passed

Total executed tests: 22
Failed tests: 0
Expected to fail tests: 0
Passed tests: 22
Not executed tests: 2
IDs of not executed tests: 702731,742910 

Not executed tests (2)

Click to expand
  • Rerun not executed tests
  • Passed tests (22)

    Click to expand

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_join_send_text_messages_push, id: 702807
    Device sessions

    Class TestWalletOneDeviceTwo:

    1. test_wallet_add_remove_regular_account, id: 727231
    Device sessions

    Class TestWalletMultipleDevice:

    1. test_send_eth[Status Network Sepolia-0.0002], id: 727229
    Device sessions

    2. test_wallet_send_erc20_from_drawer[Optimism Sepolia-USD Coin-USDC-2-0.01], id: 727230
    Device sessions

    3. test_send_eth[Arbitrum Sepolia-0.0001], id: 742015
    Device sessions

    4. test_wallet_send_erc20_from_drawer[Sepolia-USD Coin-USDC-2-0.01], id: 742016
    Device sessions

    Class TestCommunityOneDeviceMerged:

    1. test_community_copy_and_paste_message_in_chat_input, id: 702742
    Device sessions

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_message_delete, id: 702839
    Device sessions

    2. test_community_message_send_check_timestamps_sender_username, id: 702838
    Device sessions

    3. test_community_one_image_send_reply_set_reaction, id: 702859
    Device sessions

    4. test_community_message_edit, id: 702843
    Device sessions

    Class TestWalletCollectibles:

    1. test_wallet_send_collectible, id: 741840
    Device sessions

    2. test_wallet_collectibles_balance, id: 741839
    Device sessions

    3. test_wallet_collectible_send_from_expanded_info_view, id: 741841
    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_send_image_save_and_share, id: 703391
    Device sessions

    2. test_1_1_chat_message_reaction, id: 702730
    Device sessions

    Class TestProfileMultipleDevices:

    1. test_profile_change_profile_photo, id: 741969
    Device sessions

    2. test_profile_change_username, id: 741968
    Device sessions

    Class TestWalletOneDevice:

    1. test_wallet_swap_flow_mainnet, id: 741555
    Device sessions

    2. test_wallet_balance_mainnet, id: 740490
    Device sessions

    3. test_wallet_bridge_flow_mainnet, id: 741612
    Device sessions

    4. test_wallet_send_flow_mainnet, id: 741554
    Device sessions

    @qfrank
    Copy link
    Contributor Author

    qfrank commented May 19, 2025

    @qfrank Hey! what is the state of the current PR? should it be moved to Review?

    Hi @churik , I think it would be better to wait getting approval on corresponding status-go PR, then we're ready to test :)

    @qfrank qfrank force-pushed the frank/chore/low-memory branch from 09625ff to 0115348 Compare May 19, 2025 11:49
    @qfrank
    Copy link
    Contributor Author

    qfrank commented May 20, 2025

    Nice work @qfrank! Just a quick note, GC tweaks can also impact CPU. Have you checked if there's any spike in CPU usage caused by the forced GC?

    There are some minor comments in the status-go PR, but LGTM overall 🚀

    put Status into background, cpu usage is around 6%, after adb shell am send-trim-memory $PID COMPLETE, cpu usage goes up to 20%, but the duration of invocation is very short, around 78.223385ms on my device @ilmotta

    @mariia-skrypnyk mariia-skrypnyk moved this from E2E Tests to IN TESTING in Pipeline for QA May 20, 2025
    @mariia-skrypnyk mariia-skrypnyk self-assigned this May 20, 2025
    @mariia-skrypnyk
    Copy link

    Hi @qfrank !

    Thanks for your PR.
    Can you please rebase go and mobile PR and also update files in mobile brunch so they have the same commits?

    qfrank added 4 commits May 20, 2025 18:40
    …sPackage
    
    * Add methods to handle low memory events in MainApplication
    * Emit device events for low memory and trim memory notifications
    * Introduce switchToLowMemoryMode in StatusPackage to manage backend requests
    * Implement logging of the last five historical process exit reasons on devices running Android R and above.
    * Handle cases where no exit reasons are found and log relevant details for each exit reason, including process name, reason, timestamp, and memory usage.
    @qfrank qfrank force-pushed the frank/chore/low-memory branch from 3c94a83 to b9ab48b Compare May 20, 2025 10:41
    @qfrank
    Copy link
    Contributor Author

    qfrank commented May 20, 2025

    Hi @qfrank !

    Thanks for your PR. Can you please rebase go and mobile PR and also update files in mobile brunch so they have the same commits?

    Done :) @mariia-skrypnyk

    @status-im-auto
    Copy link
    Member

    88% of end-end tests have passed

    Total executed tests: 88
    Failed tests: 8
    Expected to fail tests: 3
    Passed tests: 77
    
    IDs of failed tests: 703202,703133,742945,742942,702733,741841,702782,703194 
    
    IDs of expected to fail tests: 702844,742944,741924 
    

    Failed tests (8)

    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

    communities/test_community.py:241: in test_restore_multiaccount_with_waku_backup_remove_profile_switch
        self.errors.verify_no_errors()
    base_test_case.py:207: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Device 1: zQ3...dWXh5 was not restored as a contact from waku backup!
    E    Device 1: zQ3...Vacac was not restored as a contact from waku backup!
    E    Device 1: admin_open was not restored from waku-backup!!
    E    Device 1: member_open was not restored from waku-backup!!
    E    Device 1: admin_closed was not restored from waku-backup!!
    E    Device 1: member_closed was not restored from waku-backup!!
    



    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_text_message_delete_push_disappear, id: 702733

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

    private_chats/test_one_to_one_chat.py:490: in test_1_1_chat_text_message_delete_push_disappear
        self.chat_2.chat_element_by_text(message_after_edit_1_1).wait_for_status_to_be("Delivered")
    ../views/chat_view.py:178: in wait_for_status_to_be
        raise TimeoutException("Message status was not changed to %s, it's %s" % (expected_status, current_status))
     Message status was not changed to Delivered, it's Sent
    



    Device sessions

    2. test_1_1_chat_emoji_send_reply_and_open_link, id: 702782

    Device 2: Looking for a message by text: Test with link: https://status.im/ here should be nothing unusual.
    Device 2: Find ChatElementByText by xpath: //*[starts-with(@text,'Test with link: https://status.im/ here should be nothing unusual.')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']

    private_chats/test_one_to_one_chat.py:160: in test_1_1_chat_emoji_send_reply_and_open_link
        self.chat_2.set_reaction(url_message)
    ../views/chat_view.py:700: in set_reaction
        element.wait_for_element()
    ../views/base_element.py:121: in wait_for_element
        raise TimeoutException(
     Device `2`: `Button` by` accessibility id`: `reaction-thumbs-up` is not found on the screen after wait_for_element
    



    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: Wait for element Button for max 30s and click when it is available

    private_chats/test_group_chat.py:119: in test_group_chat_reactions
        self.chats[2].add_remove_same_reaction(emoji="thumbs-up")
    ../views/chat_view.py:708: in add_remove_same_reaction
        element.wait_and_click()
    ../views/base_element.py:100: 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 3: Button by accessibility id:`emoji-reaction-2` is not found on the screen after wait_for_visibility_of_element
    



    Device sessions

    Class TestWalletConnectSignTransactions:

    1. test_wallet_connect_multiple_profiles, id: 742942

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

    wallet/test_wallet_connect.py:301: in test_wallet_connect_multiple_profiles
        self.errors.verify_no_errors()
    base_test_case.py:207: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Device 1: Error message 'Bridge.status.network requires an unsupported network' doesn't appear when signing bridge transaction with a wrong profile
    



    Device sessions

    Class TestWalletConnectLoggedOut:

    1. test_wallet_connect_logged_out, id: 742945

    ## Sign in (password: qwerty1234)
    Device 1: Getting username card by 'shrz2hxDtxjiJZWdt7Dx'

    wallet/test_wallet_connect.py:342: in test_wallet_connect_logged_out
        self.sign_in_view.sign_in(user_name=self.username)
    ../views/sign_in_view.py:140: in sign_in
        self.get_user_profile_by_name(user_name).click()
    ../views/sign_in_view.py:153: in get_user_profile_by_name
        raise NoSuchElementException(msg="User %s is not found!" % username)
     User shrz2hxDtxjiJZWdt7Dx is not found!; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception; also Unexpected Alert is shown: 'kotlin.UninitializedPropertyAccessException: lateinit property utils has not been initialized'
    



    Device sessions

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_several_images_send_reply, id: 703194

    Device 2: Trying to access images (image container) inside message with text 'gallery'
    Device 2: Find ImageContainer by xpath: //*[starts-with(@text,'gallery')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']//*[@content-desc="image-container"]

    communities/test_community.py:426: in test_community_several_images_send_reply
        if (image.is_element_differs_from_template("images_gallery.png", 5) and
    ../views/base_element.py:267: in is_element_differs_from_template
        difference = ImageChops.difference(self.image, self.template)
    ../views/base_element.py:245: in image
        return Image.open(BytesIO(base64.b64decode(self.find_element().screenshot_as_base64)))
    ../views/base_element.py:79: in find_element
        raise NoSuchElementException(
     Device 2: ImageContainer by xpath: `//*[starts-with(@text,'gallery')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']//*[@content-desc="image-container"]` 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 TestWalletCollectibles:

    1. test_wallet_collectible_send_from_expanded_info_view, id: 741841

    Device 1: Find CollectibleItemElement by xpath: //*[@content-desc='collectible-list-item']//*[contains(@text,'Glitch Punks')]/../..
    Device 1: Find CollectibleItemElement by xpath: //*[@content-desc='collectible-list-item']//*[contains(@text,'Glitch Punks')]/../..

    wallet/test_collectibles.py:159: in test_wallet_collectible_send_from_expanded_info_view
        self.wallet_view.get_collectible_element('Glitch Punks').scroll_and_click()
    ../views/base_element.py:209: in scroll_and_click
        self.scroll_to_element(direction=direction)
    ../views/base_element.py:204: in scroll_to_element
        raise NoSuchElementException(
     Device 1: CollectibleItemElement by xpath: `//*[@content-desc='collectible-list-item']//*[contains(@text,'Glitch Punks')]/../..` 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 TestWalletConnectSignTransactions:

    1. test_wallet_connect_sign_request_when_logged_out, id: 742944

    Device 1: Tap on found: LogInButton
    ## Signed in successfully!

    wallet/test_wallet_connect.py:317: in test_wallet_connect_sign_request_when_logged_out
        pytest.fail(
     Transaction request modal is not shown when making a sign request with fully closed Status app 
    

    [[Sign modal doesn't appear when logged out, https://github.com//issues/22586]]

    Device sessions

    Class TestCommunityMultipleDeviceMergedThree:

    1. test_community_mobile_data_and_wi_fi_only_fetching, id: 741924

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

    communities/test_community.py:1324: in test_community_mobile_data_and_wi_fi_only_fetching
        self.errors.verify_no_errors()
    base_test_case.py:207: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Device 2: Message 'message text 2' in community, which is sent when receiver was offline, is received using mobile data 
    

    [[Community message can be fetched from offline when using mobile data]]

    Device sessions

    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

    communities/test_community.py:656: in test_community_links_with_previews_github_youtube_twitter_gif_send_enable
        self.errors.verify_no_errors()
    base_test_case.py:207: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Device 1: No preview is loaded for url https://youtu.be/Je7yErjEVt4
    E    Device 1: No preview is loaded for url https://www.youtube.com/watch?v=XN-SVmuJH2g&list=PLbrz7IuP1hrgNtYe9g6YHwHO6F3OqNMao
    E    Device 1: 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

    Passed tests (77)

    Click to expand

    Class TestWalletOneDeviceTwo:

    1. test_wallet_add_remove_regular_account, id: 727231
    Device sessions

    Class TestWalletOneDeviceThree:

    1. test_wallet_swap_dai_snt_real_tx, id: 742063
    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 TestActivityMultipleDevicePR:

    1. test_activity_center_reply_read_unread_delete_filter_swipe, id: 702947
    Device sessions

    Class TestWalletConnectSignTransactions:

    1. test_wallet_connect_reject_sign_in_request, id: 742943
    Device sessions

    2. test_wallet_connect_sign_transaction, id: 742901
    Device sessions

    Class TestFallbackMultipleDevice:

    1. test_fallback_add_key_pair, id: 741054
    Device sessions

    2. test_fallback_sync_with_error, id: 740220
    Device sessions

    3. test_fallback_with_correct_seed_phrase, id: 740221
    Device sessions

    4. test_fallback_validate_seed_phrase, id: 740222
    Device sessions

    Class TestWalletOneDevice:

    1. test_wallet_swap_flow_mainnet, id: 741555
    Device sessions

    2. test_wallet_balance_mainnet, id: 740490
    Device sessions

    3. test_wallet_bridge_flow_mainnet, id: 741612
    Device sessions

    4. test_wallet_send_flow_mainnet, id: 741554
    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 TestAndroid12:

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

    5. test_1_1_chat_push_emoji, id: 702813
    Device sessions

    6. test_1_1_chat_send_image_save_and_share, id: 703391
    Device sessions

    Class TestWalletCustomParamOneDevice:

    1. test_send_snt_custom_tx_params, id: 742910
    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_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_message_edit, id: 702843
    Device sessions

    9. test_community_one_image_send_reply_set_reaction, id: 702859
    Device sessions

    Class TestAndroid13:

    1. test_create_account_android_13, id: 741807
    Device sessions

    Class TestProfileOneDevice:

    1. test_profile_back_up_seed_phrase_validation, id: 741966
    Device sessions

    2. test_profile_change_currency, id: 741967
    Device sessions

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_join_send_text_messages_push, id: 702807
    Device sessions

    2. test_group_chat_offline_pn, id: 702808
    Device sessions

    3. test_group_chat_pin_messages, id: 702732
    Device sessions

    4. test_group_chat_send_image_save_and_share, id: 703297
    Device sessions

    5. test_group_chat_mute_chat, id: 703495
    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 TestWalletMultipleDevice:

    1. test_wallet_send_erc20_from_drawer[Optimism Sepolia-USD Coin-USDC (EVM)-2-0.01], id: 727230
    Device sessions

    2. test_send_eth[Arbitrum Sepolia-0.0001], id: 742015
    Device sessions

    3. test_send_eth[Status Network Sepolia-0.0002], id: 727229
    Device sessions

    4. test_wallet_send_erc20_from_drawer[Sepolia-USD Coin-USDC (EVM)-2-0.01], id: 742016
    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

    5. test_community_discovery, id: 703503
    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

    3. test_activity_centre_contact_request_receiver_offline, id: 741809
    Device sessions

    Class TestWalletConnectDifferentNetworks:

    1. test_wallet_connect_testnet_dapp, id: 742899
    Device sessions

    2. test_wallet_connect_mainnet_dapp, id: 742900
    Device sessions

    Class TestWalletConnectBaseChecks:

    1. test_wallet_connect_disconnect, id: 742897
    Device sessions

    2. test_wallet_connect_decline_and_select_account, id: 742898
    Device sessions

    Class TestCommunityMultipleDeviceMergedThree:

    1. test_community_send_message_from_offline, id: 741925
    Device sessions

    2. test_community_messaging_on_mobile_data, id: 741926
    Device sessions

    Class TestDeepLinksOneDevice:

    1. test_links_open_universal_links_from_chat, id: 704613
    Device sessions

    2. test_links_deep_links_profile, id: 702775
    Device sessions

    3. test_deep_links_communities, id: 739307
    Device sessions

    Class TestProfileMultipleDevices:

    1. test_profile_change_accent_color, id: 741971
    Device sessions

    2. test_profile_change_profile_photo, id: 741969
    Device sessions

    3. test_profile_allow_new_contact_requests_toggle, id: 741972
    Device sessions

    4. test_profile_change_username, id: 741968
    Device sessions

    5. test_profile_set_bio, id: 741970
    Device sessions

    Class TestWalletCollectibles:

    1. test_wallet_send_collectible, id: 741840
    Device sessions

    2. test_wallet_collectibles_balance, id: 741839
    Device sessions

    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.

    6 participants