Skip to content

fix(communities): view-only channels unsupported#22226

Merged
ulisesmac merged 4 commits intodevelopfrom
22803-add-support-for-view-only-permissions-channels
Mar 18, 2025
Merged

fix(communities): view-only channels unsupported#22226
ulisesmac merged 4 commits intodevelopfrom
22803-add-support-for-view-only-permissions-channels

Conversation

@ulisesmac
Copy link
Copy Markdown
Contributor

fixes #22083

Summary

This PR adds support for view-only channels by fixing bugs related to it.

Review notes

Some code reformating were also performed.

Testing notes

You can use the community in the issue description to test this feature.

Platforms

  • Android
  • iOS

Areas that may be impacted

Chats in general. The changes affect locked/unlocked channels and the permissions to reply in chats, so please, focus on this areas.

status: ready

Comment on lines 27 to 29
"canPost" :can-post?
"can-view" :can-view?
"canView" :can-view?
"hideIfPermissionsNotMet" :hide-if-permissions-not-met?
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

the can-view key never appeared, we were handling this prop wrongly, maybe due to an update on the status-go response?

Comment thread src/status_im/contexts/chat/events.cljs
Comment thread src/status_im/contexts/communities/events.cljs
Comment thread src/status_im/contexts/communities/overview/view.cljs
@status-im-auto
Copy link
Copy Markdown
Member

status-im-auto commented Mar 3, 2025

Jenkins Builds

Click to see older builds (20)
Commit #️⃣ Finished (UTC) Duration Platform Result
d9758e7 #1 2025-03-03 23:26:00 ~3 min tests 📄log
✔️ d9758e7 #1 2025-03-03 23:29:27 ~6 min android-e2e 🤖apk 📲
✔️ d9758e7 #1 2025-03-03 23:31:22 ~8 min android 🤖apk 📲
✔️ d9758e7 #1 2025-03-03 23:33:10 ~10 min ios 📱ipa 📲
✔️ ee3bef3 #2 2025-03-04 16:13:20 ~4 min tests 📄log
✔️ ee3bef3 #2 2025-03-04 16:15:30 ~7 min android-e2e 🤖apk 📲
✔️ ee3bef3 #2 2025-03-04 16:16:49 ~8 min android 🤖apk 📲
✔️ ee3bef3 #2 2025-03-04 16:19:19 ~10 min ios 📱ipa 📲
✔️ 6a24b68 #3 2025-03-12 15:01:45 ~4 min tests 📄log
✔️ 6a24b68 #3 2025-03-12 15:03:57 ~7 min android-e2e 🤖apk 📲
✔️ 6a24b68 #3 2025-03-12 15:05:26 ~8 min android 🤖apk 📲
✔️ 6a24b68 #3 2025-03-12 15:07:20 ~10 min ios 📱ipa 📲
✔️ ddb8c53 #4 2025-03-13 20:02:09 ~4 min tests 📄log
✔️ ddb8c53 #4 2025-03-13 20:03:59 ~6 min android-e2e 🤖apk 📲
✔️ ddb8c53 #4 2025-03-13 20:06:09 ~8 min android 🤖apk 📲
✔️ ddb8c53 #4 2025-03-13 20:09:49 ~12 min ios 📱ipa 📲
✔️ 2bedf25 #5 2025-03-14 19:47:17 ~4 min tests 📄log
✔️ 2bedf25 #5 2025-03-14 19:50:09 ~7 min android-e2e 🤖apk 📲
✔️ 2bedf25 #5 2025-03-14 19:51:28 ~9 min android 🤖apk 📲
2bedf25 #5 2025-03-14 19:53:47 ~11 min ios 📄log
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 25b59ec #6 2025-03-14 20:01:57 ~4 min tests 📄log
✔️ 25b59ec #6 2025-03-14 20:04:19 ~7 min android-e2e 🤖apk 📲
✔️ 25b59ec #6 2025-03-14 20:05:26 ~8 min android 🤖apk 📲
25b59ec #6 2025-03-14 20:07:51 ~10 min ios 📄log
✔️ 1148964 #7 2025-03-18 18:53:19 ~4 min tests 📄log
✔️ 1148964 #7 2025-03-18 18:56:36 ~7 min android-e2e 🤖apk 📲
✔️ 1148964 #7 2025-03-18 18:57:08 ~8 min android 🤖apk 📲
✔️ 1148964 #7 2025-03-18 19:00:32 ~11 min ios 📱ipa 📲

Comment thread src/status_im/subs/chats.cljs
Comment thread src/status_im/subs/chats.cljs Outdated
Comment thread src/status_im/contexts/chat/events.cljs
@ulisesmac ulisesmac force-pushed the 22803-add-support-for-view-only-permissions-channels branch from d9758e7 to ee3bef3 Compare March 4, 2025 16:08
Comment thread src/status_im/subs/chats.cljs
@churik churik moved this from CONTRIBUTOR to E2E Tests in Pipeline for QA Mar 10, 2025
@pavloburykh pavloburykh force-pushed the 22803-add-support-for-view-only-permissions-channels branch from ee3bef3 to 6a24b68 Compare March 12, 2025 14:56
@pavloburykh pavloburykh self-assigned this Mar 12, 2025
@pavloburykh pavloburykh moved this from E2E Tests to IN TESTING in Pipeline for QA Mar 12, 2025
@status-im-auto
Copy link
Copy Markdown
Member

32% of end-end tests have passed

Total executed tests: 68
Failed tests: 42
Expected to fail tests: 4
Passed tests: 22
IDs of failed tests: 741924,702809,702782,741926,702733,740220,741925,703194,740222,702859,702732,702813,702957,702840,703495,703086,702948,702894,702745,703297,704615,702855,703202,703391,703133,702786,702839,741809,702947,702838,740221,702844,741054,702843,702807,702731,702808,702730,702845,702958,703629,702841 
IDs of expected to fail tests: 741840,703503,741839,741841 

Failed tests (42)

Click to expand
  • Rerun failed tests

  • Class TestActivityMultipleDevicePR:

    1. test_activity_center_reply_read_unread_delete_filter_swipe, id: 702947

    Device 2: Joining community
    Device 2: Looking for a message by text: https://status.app/c/

    Test setup failed: activity_center/test_activity_center.py:268: in prepare_devices
        self.community_2.join_community()
    ../views/chat_view.py:335: in join_community
        ChatView(self.driver).chat_element_by_text("https://status.app/c/").click_on_link_inside_message_body()
    ../views/chat_view.py:128: in click_on_link_inside_message_body
        self.message_body.wait_for_visibility_of_element(30)
    ../views/base_element.py:138: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: Text by xpath:`//android.view.ViewGroup[@content-desc='chat-item']//android.widget.TextView[contains(@text,'https://status.app/c/')]` is not found on the screen after wait_for_visibility_of_element
    



    Device sessions

    Class TestActivityMultipleDevicePRTwo:

    1. test_activity_center_mentions, id: 702957

    Device 2: Find Text by xpath: //android.view.ViewGroup[@content-desc='chat-item']//android.widget.TextView[contains(@text,'https://status.app/c/')]
    Device 2: Wait for element Button for max 120s and click when it is available

    Test setup failed: activity_center/test_activity_center.py:411: in prepare_devices
        self.community_2.join_community()
    ../views/chat_view.py:336: in join_community
        self.join_button.wait_and_click(120)
    ../views/base_element.py:99: in wait_and_click
        self.wait_for_visibility_of_element(sec)
    ../views/base_element.py:138: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element
    



    Device sessions

    2. test_activity_centre_contact_request_receiver_offline, id: 741809

    Test setup failed: activity_center/test_activity_center.py:411: in prepare_devices
        self.community_2.join_community()
    ../views/chat_view.py:336: in join_community
        self.join_button.wait_and_click(120)
    ../views/base_element.py:99: in wait_and_click
        self.wait_for_visibility_of_element(sec)
    ../views/base_element.py:138: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element
    



    3. test_activity_center_admin_notification_accept_swipe, id: 702958

    Test setup failed: activity_center/test_activity_center.py:411: in prepare_devices
        self.community_2.join_community()
    ../views/chat_view.py:336: in join_community
        self.join_button.wait_and_click(120)
    ../views/base_element.py:99: in wait_and_click
        self.wait_for_visibility_of_element(sec)
    ../views/base_element.py:138: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: Button by accessibility id:`show-request-to-join-screen-button` is not found on the screen after wait_for_visibility_of_element
    



    Class TestCommunityMultipleDeviceMerged:

    1. test_community_several_images_send_reply, id: 703194

    Test setup failed: critical/chats/test_public_chat_browsing.py:325: in prepare_devices
        self.home_2.handle_contact_request(self.username_1)
    ../views/home_view.py:383: in handle_contact_request
        self.notifications_unread_badge.wait_for_element_text(text=str(notifications_count), wait_time=120)
    ../views/base_element.py:172: in wait_for_element_text
        element_text = self.find_element().text.strip()
    ../views/base_element.py:78: in find_element
        raise NoSuchElementException(
     Device 2: BaseElement by xpath: `//*[@content-desc='activity-center-unread-count']/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
    



    2. test_community_one_image_send_reply, id: 702859

    Test setup failed: critical/chats/test_public_chat_browsing.py:325: in prepare_devices
        self.home_2.handle_contact_request(self.username_1)
    ../views/home_view.py:383: in handle_contact_request
        self.notifications_unread_badge.wait_for_element_text(text=str(notifications_count), wait_time=120)
    ../views/base_element.py:172: in wait_for_element_text
        element_text = self.find_element().text.strip()
    ../views/base_element.py:78: in find_element
        raise NoSuchElementException(
     Device 2: BaseElement by xpath: `//*[@content-desc='activity-center-unread-count']/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
    



    3. test_community_emoji_send_copy_paste_reply, id: 702840

    Test setup failed: critical/chats/test_public_chat_browsing.py:325: in prepare_devices
        self.home_2.handle_contact_request(self.username_1)
    ../views/home_view.py:383: in handle_contact_request
        self.notifications_unread_badge.wait_for_element_text(text=str(notifications_count), wait_time=120)
    ../views/base_element.py:172: in wait_for_element_text
        element_text = self.find_element().text.strip()
    ../views/base_element.py:78: in find_element
        raise NoSuchElementException(
     Device 2: BaseElement by xpath: `//*[@content-desc='activity-center-unread-count']/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
    



    4. test_community_mark_all_messages_as_read, id: 703086

    Test setup failed: critical/chats/test_public_chat_browsing.py:325: in prepare_devices
        self.home_2.handle_contact_request(self.username_1)
    ../views/home_view.py:383: in handle_contact_request
        self.notifications_unread_badge.wait_for_element_text(text=str(notifications_count), wait_time=120)
    ../views/base_element.py:172: in wait_for_element_text
        element_text = self.find_element().text.strip()
    ../views/base_element.py:78: in find_element
        raise NoSuchElementException(
     Device 2: BaseElement by xpath: `//*[@content-desc='activity-center-unread-count']/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
    



    5. test_community_contact_block_unblock_offline, id: 702894

    Test setup failed: critical/chats/test_public_chat_browsing.py:325: in prepare_devices
        self.home_2.handle_contact_request(self.username_1)
    ../views/home_view.py:383: in handle_contact_request
        self.notifications_unread_badge.wait_for_element_text(text=str(notifications_count), wait_time=120)
    ../views/base_element.py:172: in wait_for_element_text
        element_text = self.find_element().text.strip()
    ../views/base_element.py:78: in find_element
        raise NoSuchElementException(
     Device 2: BaseElement by xpath: `//*[@content-desc='activity-center-unread-count']/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
    



    6. test_community_edit_delete_message_when_offline, id: 704615

    Test setup failed: critical/chats/test_public_chat_browsing.py:325: in prepare_devices
        self.home_2.handle_contact_request(self.username_1)
    ../views/home_view.py:383: in handle_contact_request
        self.notifications_unread_badge.wait_for_element_text(text=str(notifications_count), wait_time=120)
    ../views/base_element.py:172: in wait_for_element_text
        element_text = self.find_element().text.strip()
    ../views/base_element.py:78: in find_element
        raise NoSuchElementException(
     Device 2: BaseElement by xpath: `//*[@content-desc='activity-center-unread-count']/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
    



    7. test_community_message_delete, id: 702839

    Test setup failed: critical/chats/test_public_chat_browsing.py:325: in prepare_devices
        self.home_2.handle_contact_request(self.username_1)
    ../views/home_view.py:383: in handle_contact_request
        self.notifications_unread_badge.wait_for_element_text(text=str(notifications_count), wait_time=120)
    ../views/base_element.py:172: in wait_for_element_text
        element_text = self.find_element().text.strip()
    ../views/base_element.py:78: in find_element
        raise NoSuchElementException(
     Device 2: BaseElement by xpath: `//*[@content-desc='activity-center-unread-count']/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
    



    8. test_community_message_send_check_timestamps_sender_username, id: 702838

    Device 2: Wait for text element BaseElement to be equal to 1
    Device 2: Find BaseElement by xpath: //*[@content-desc='activity-center-unread-count']/android.widget.TextView

    Test setup failed: critical/chats/test_public_chat_browsing.py:325: in prepare_devices
        self.home_2.handle_contact_request(self.username_1)
    ../views/home_view.py:383: in handle_contact_request
        self.notifications_unread_badge.wait_for_element_text(text=str(notifications_count), wait_time=120)
    ../views/base_element.py:172: in wait_for_element_text
        element_text = self.find_element().text.strip()
    ../views/base_element.py:78: in find_element
        raise NoSuchElementException(
     Device 2: BaseElement by xpath: `//*[@content-desc='activity-center-unread-count']/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

    9. test_community_links_with_previews_github_youtube_twitter_gif_send_enable, id: 702844

    Test setup failed: critical/chats/test_public_chat_browsing.py:325: in prepare_devices
        self.home_2.handle_contact_request(self.username_1)
    ../views/home_view.py:383: in handle_contact_request
        self.notifications_unread_badge.wait_for_element_text(text=str(notifications_count), wait_time=120)
    ../views/base_element.py:172: in wait_for_element_text
        element_text = self.find_element().text.strip()
    ../views/base_element.py:78: in find_element
        raise NoSuchElementException(
     Device 2: BaseElement by xpath: `//*[@content-desc='activity-center-unread-count']/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 
    

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

    10. test_community_message_edit, id: 702843

    Test setup failed: critical/chats/test_public_chat_browsing.py:325: in prepare_devices
        self.home_2.handle_contact_request(self.username_1)
    ../views/home_view.py:383: in handle_contact_request
        self.notifications_unread_badge.wait_for_element_text(text=str(notifications_count), wait_time=120)
    ../views/base_element.py:172: in wait_for_element_text
        element_text = self.find_element().text.strip()
    ../views/base_element.py:78: in find_element
        raise NoSuchElementException(
     Device 2: BaseElement by xpath: `//*[@content-desc='activity-center-unread-count']/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
    



    11. test_community_unread_messages_badge, id: 702841

    Test setup failed: critical/chats/test_public_chat_browsing.py:325: in prepare_devices
        self.home_2.handle_contact_request(self.username_1)
    ../views/home_view.py:383: in handle_contact_request
        self.notifications_unread_badge.wait_for_element_text(text=str(notifications_count), wait_time=120)
    ../views/base_element.py:172: in wait_for_element_text
        element_text = self.find_element().text.strip()
    ../views/base_element.py:78: in find_element
        raise NoSuchElementException(
     Device 2: BaseElement by xpath: `//*[@content-desc='activity-center-unread-count']/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
    



    Class TestFallbackMultipleDevice:

    1. test_fallback_sync_with_error, id: 740220

    Device 3: Wait for text element BaseElement to be equal to 1
    Device 3: Find BaseElement by xpath: //*[@content-desc='activity-center-unread-count']/android.widget.TextView

    Test setup failed: critical/test_fallback.py:40: in prepare_devices
        self.home_3.handle_contact_request(self.user_name_1)
    ../views/home_view.py:383: in handle_contact_request
        self.notifications_unread_badge.wait_for_element_text(text=str(notifications_count), wait_time=120)
    ../views/base_element.py:172: in wait_for_element_text
        element_text = self.find_element().text.strip()
    ../views/base_element.py:78: in find_element
        raise NoSuchElementException(
     Device 3: BaseElement by xpath: `//*[@content-desc='activity-center-unread-count']/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
    



    2. test_fallback_validate_seed_phrase, id: 740222

    Test setup failed: critical/test_fallback.py:40: in prepare_devices
        self.home_3.handle_contact_request(self.user_name_1)
    ../views/home_view.py:383: in handle_contact_request
        self.notifications_unread_badge.wait_for_element_text(text=str(notifications_count), wait_time=120)
    ../views/base_element.py:172: in wait_for_element_text
        element_text = self.find_element().text.strip()
    ../views/base_element.py:78: in find_element
        raise NoSuchElementException(
     Device 3: BaseElement by xpath: `//*[@content-desc='activity-center-unread-count']/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
    



    3. test_fallback_with_correct_seed_phrase, id: 740221

    Test setup failed: critical/test_fallback.py:40: in prepare_devices
        self.home_3.handle_contact_request(self.user_name_1)
    ../views/home_view.py:383: in handle_contact_request
        self.notifications_unread_badge.wait_for_element_text(text=str(notifications_count), wait_time=120)
    ../views/base_element.py:172: in wait_for_element_text
        element_text = self.find_element().text.strip()
    ../views/base_element.py:78: in find_element
        raise NoSuchElementException(
     Device 3: BaseElement by xpath: `//*[@content-desc='activity-center-unread-count']/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
    



    4. test_fallback_add_key_pair, id: 741054

    Test setup failed: critical/test_fallback.py:40: in prepare_devices
        self.home_3.handle_contact_request(self.user_name_1)
    ../views/home_view.py:383: in handle_contact_request
        self.notifications_unread_badge.wait_for_element_text(text=str(notifications_count), wait_time=120)
    ../views/base_element.py:172: in wait_for_element_text
        element_text = self.find_element().text.strip()
    ../views/base_element.py:78: in find_element
        raise NoSuchElementException(
     Device 3: BaseElement by xpath: `//*[@content-desc='activity-center-unread-count']/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
    



    Class TestCommunityOneDeviceMerged:

    1. test_restore_multiaccount_with_waku_backup_remove_profile_switch, id: 703133

    Device 1: Tap on found: CommunitiesTab
    # STEP: Check that can login with different user

    critical/chats/test_public_chat_browsing.py:226: in test_restore_multiaccount_with_waku_backup_remove_profile_switch
        self.home.reopen_app(user_name=self.username)
    ../views/base_view.py:351: in reopen_app
        self.driver.activate_app(app_package)
    ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/appium/webdriver/extensions/applications.py:223: in activate_app
        self.assert_extension_exists(ext_name).execute_script(
    ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:405: in execute_script
        return self.execute(command, {"script": script, "args": converted_args})["value"]
    ../../../../status-app-prs-rerun@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@tmp/venv/lib/python3.10/site-packages/appium/webdriver/errorhandler.py:122: in check_response
        raise exception_class(msg=message, stacktrace=format_stacktrace(stacktrace))
     An unknown server-side error occurred while processing the command. Original error: Error executing adbExec. Original error: 'Command '/root/lambda/shared-tools/android-sdk/platform-tools/adb -P 5037 -s emulator-5554 shell cmd package resolve-activity --brief im.status.ethereum.pr' exited with code 1'; Command output: error: closed
    E   
    E   Stacktrace:
    E   UnknownError: An unknown server-side error occurred while processing the command. Original error: Error executing adbExec. Original error: 'Command '/root/lambda/shared-tools/android-sdk/platform-tools/adb -P 5037 -s emulator-5554 shell cmd package resolve-activity --brief im.status.ethereum.pr' exited with code 1'; Command output: error: closed
    E   
    E       at getResponseForW3CError (/root/lambda/shared-tools/volume/appium/appium-2.1.3/node_modules/@appium/base-driver/lib/protocol/errors.js:1097:9)
    E       at asyncHandler (/root/lambda/shared-tools/volume/appium/appium-2.1.3/node_modules/@appium/base-driver/lib/protocol/protocol.js:491:57)
    



    Device sessions

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_pin_messages, id: 702732

    Test setup failed: critical/chats/test_group_chat.py:60: in prepare_devices
        self.homes[0].add_contact(self.public_keys[i])
    ../views/home_view.py:429: in add_contact
        chat.close_button.click_until_absense_of_element(chat.close_button)
    ../views/base_element.py:423: in click_until_absense_of_element
        while desired_element.is_element_displayed(timeout) and counter <= attempts:
    ../views/base_element.py:206: in is_element_displayed
        return self.wait_for_visibility_of_element(sec, ignored_exceptions=ignored_exceptions)
    ../views/base_element.py:136: in wait_for_visibility_of_element
        .until(expected_conditions.visibility_of_element_located((self.by, self.locator)))
    ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/support/wait.py:86: in until
        value = method(self._driver)
    ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/support/expected_conditions.py:152: in _predicate
        return _element_if_visible(driver.find_element(*locator))
    ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/appium/webdriver/webdriver.py:409: in find_element
        return self.execute(RemoteCommand.FIND_ELEMENT, {'using': by, 'value': value})['value']
    ../../../../status-app-prs-rerun@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@tmp/venv/lib/python3.10/site-packages/appium/webdriver/errorhandler.py:122: in check_response
        raise exception_class(msg=message, stacktrace=format_stacktrace(stacktrace))
     An unknown server-side error occurred while processing the command. Original error: 'POST /element' cannot be proxied to UiAutomator2 server because the instrumentation process is not running (probably crashed). Check the server log and/or the logcat output for more details
    E   Stacktrace:
    E   UnknownError: An unknown server-side error occurred while processing the command. Original error: 'POST /element' cannot be proxied to UiAutomator2 server because the instrumentation process is not running (probably crashed). Check the server log and/or the logcat output for more details
    E       at UIA2Proxy.command (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/@appium/base-driver/lib/jsonwp-proxy/proxy.js:355:13)
    E       at runMicrotasks (<anonymous>)
    E       at processTicksAndRejections (node:internal/process/task_queues:96:5)
    E       at AndroidUiautomator2Driver.doFindElementOrEls (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/lib/commands/find.js:44:7)
    E       at doFind (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/appium-android-driver/lib/commands/find.ts:48:17)
    E       at wrappedCondFn (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/@appium/base-driver/lib/basedriver/commands/timeout.ts:137:14)
    E       at spin (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/asyncbox/lib/asyncbox.js:221:20)
    E       at waitForCondition (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/asyncbox/lib/asyncbox.js:238:10)
    E       at AndroidUiautomator2Driver.implicitWaitForCondition (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/@appium/base-driver/lib/basedriver/commands/timeout.ts:139:12)
    E       at AndroidUiautomator2Driver.findElOrEls (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/appium-android-driver/lib/commands/find.ts:71:5)
    E       at AndroidUiautomator2Driver.findElOrElsWithProcessing (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/@appium/base-driver/lib/basedriver/commands/find.ts:60:12)
    E       at AndroidUiautomator2Driver.findElement (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/@appium/base-driver/lib/basedriver/commands/find.ts:75:12)
    



    2. test_group_chat_mute_chat, id: 703495

    Test setup failed: critical/chats/test_group_chat.py:60: in prepare_devices
        self.homes[0].add_contact(self.public_keys[i])
    ../views/home_view.py:429: in add_contact
        chat.close_button.click_until_absense_of_element(chat.close_button)
    ../views/base_element.py:423: in click_until_absense_of_element
        while desired_element.is_element_displayed(timeout) and counter <= attempts:
    ../views/base_element.py:206: in is_element_displayed
        return self.wait_for_visibility_of_element(sec, ignored_exceptions=ignored_exceptions)
    ../views/base_element.py:136: in wait_for_visibility_of_element
        .until(expected_conditions.visibility_of_element_located((self.by, self.locator)))
    ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/support/wait.py:86: in until
        value = method(self._driver)
    ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/support/expected_conditions.py:152: in _predicate
        return _element_if_visible(driver.find_element(*locator))
    ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/appium/webdriver/webdriver.py:409: in find_element
        return self.execute(RemoteCommand.FIND_ELEMENT, {'using': by, 'value': value})['value']
    ../../../../status-app-prs-rerun@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@tmp/venv/lib/python3.10/site-packages/appium/webdriver/errorhandler.py:122: in check_response
        raise exception_class(msg=message, stacktrace=format_stacktrace(stacktrace))
     An unknown server-side error occurred while processing the command. Original error: 'POST /element' cannot be proxied to UiAutomator2 server because the instrumentation process is not running (probably crashed). Check the server log and/or the logcat output for more details
    E   Stacktrace:
    E   UnknownError: An unknown server-side error occurred while processing the command. Original error: 'POST /element' cannot be proxied to UiAutomator2 server because the instrumentation process is not running (probably crashed). Check the server log and/or the logcat output for more details
    E       at UIA2Proxy.command (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/@appium/base-driver/lib/jsonwp-proxy/proxy.js:355:13)
    E       at runMicrotasks (<anonymous>)
    E       at processTicksAndRejections (node:internal/process/task_queues:96:5)
    E       at AndroidUiautomator2Driver.doFindElementOrEls (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/lib/commands/find.js:44:7)
    E       at doFind (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/appium-android-driver/lib/commands/find.ts:48:17)
    E       at wrappedCondFn (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/@appium/base-driver/lib/basedriver/commands/timeout.ts:137:14)
    E       at spin (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/asyncbox/lib/asyncbox.js:221:20)
    E       at waitForCondition (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/asyncbox/lib/asyncbox.js:238:10)
    E       at AndroidUiautomator2Driver.implicitWaitForCondition (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/@appium/base-driver/lib/basedriver/commands/timeout.ts:139:12)
    E       at AndroidUiautomator2Driver.findElOrEls (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/appium-android-driver/lib/commands/find.ts:71:5)
    E       at AndroidUiautomator2Driver.findElOrElsWithProcessing (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/@appium/base-driver/lib/basedriver/commands/find.ts:60:12)
    E       at AndroidUiautomator2Driver.findElement (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/@appium/base-driver/lib/basedriver/commands/find.ts:75:12)
    



    3. test_group_chat_send_image_save_and_share, id: 703297

    Test setup failed: critical/chats/test_group_chat.py:60: in prepare_devices
        self.homes[0].add_contact(self.public_keys[i])
    ../views/home_view.py:429: in add_contact
        chat.close_button.click_until_absense_of_element(chat.close_button)
    ../views/base_element.py:423: in click_until_absense_of_element
        while desired_element.is_element_displayed(timeout) and counter <= attempts:
    ../views/base_element.py:206: in is_element_displayed
        return self.wait_for_visibility_of_element(sec, ignored_exceptions=ignored_exceptions)
    ../views/base_element.py:136: in wait_for_visibility_of_element
        .until(expected_conditions.visibility_of_element_located((self.by, self.locator)))
    ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/support/wait.py:86: in until
        value = method(self._driver)
    ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/support/expected_conditions.py:152: in _predicate
        return _element_if_visible(driver.find_element(*locator))
    ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/appium/webdriver/webdriver.py:409: in find_element
        return self.execute(RemoteCommand.FIND_ELEMENT, {'using': by, 'value': value})['value']
    ../../../../status-app-prs-rerun@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@tmp/venv/lib/python3.10/site-packages/appium/webdriver/errorhandler.py:122: in check_response
        raise exception_class(msg=message, stacktrace=format_stacktrace(stacktrace))
     An unknown server-side error occurred while processing the command. Original error: 'POST /element' cannot be proxied to UiAutomator2 server because the instrumentation process is not running (probably crashed). Check the server log and/or the logcat output for more details
    E   Stacktrace:
    E   UnknownError: An unknown server-side error occurred while processing the command. Original error: 'POST /element' cannot be proxied to UiAutomator2 server because the instrumentation process is not running (probably crashed). Check the server log and/or the logcat output for more details
    E       at UIA2Proxy.command (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/@appium/base-driver/lib/jsonwp-proxy/proxy.js:355:13)
    E       at runMicrotasks (<anonymous>)
    E       at processTicksAndRejections (node:internal/process/task_queues:96:5)
    E       at AndroidUiautomator2Driver.doFindElementOrEls (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/lib/commands/find.js:44:7)
    E       at doFind (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/appium-android-driver/lib/commands/find.ts:48:17)
    E       at wrappedCondFn (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/@appium/base-driver/lib/basedriver/commands/timeout.ts:137:14)
    E       at spin (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/asyncbox/lib/asyncbox.js:221:20)
    E       at waitForCondition (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/asyncbox/lib/asyncbox.js:238:10)
    E       at AndroidUiautomator2Driver.implicitWaitForCondition (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/@appium/base-driver/lib/basedriver/commands/timeout.ts:139:12)
    E       at AndroidUiautomator2Driver.findElOrEls (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/appium-android-driver/lib/commands/find.ts:71:5)
    E       at AndroidUiautomator2Driver.findElOrElsWithProcessing (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/@appium/base-driver/lib/basedriver/commands/find.ts:60:12)
    E       at AndroidUiautomator2Driver.findElement (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/@appium/base-driver/lib/basedriver/commands/find.ts:75:12)
    



    4. test_group_chat_reactions, id: 703202

    Test setup failed: critical/chats/test_group_chat.py:60: in prepare_devices
        self.homes[0].add_contact(self.public_keys[i])
    ../views/home_view.py:429: in add_contact
        chat.close_button.click_until_absense_of_element(chat.close_button)
    ../views/base_element.py:423: in click_until_absense_of_element
        while desired_element.is_element_displayed(timeout) and counter <= attempts:
    ../views/base_element.py:206: in is_element_displayed
        return self.wait_for_visibility_of_element(sec, ignored_exceptions=ignored_exceptions)
    ../views/base_element.py:136: in wait_for_visibility_of_element
        .until(expected_conditions.visibility_of_element_located((self.by, self.locator)))
    ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/support/wait.py:86: in until
        value = method(self._driver)
    ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/support/expected_conditions.py:152: in _predicate
        return _element_if_visible(driver.find_element(*locator))
    ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/appium/webdriver/webdriver.py:409: in find_element
        return self.execute(RemoteCommand.FIND_ELEMENT, {'using': by, 'value': value})['value']
    ../../../../status-app-prs-rerun@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@tmp/venv/lib/python3.10/site-packages/appium/webdriver/errorhandler.py:122: in check_response
        raise exception_class(msg=message, stacktrace=format_stacktrace(stacktrace))
     An unknown server-side error occurred while processing the command. Original error: 'POST /element' cannot be proxied to UiAutomator2 server because the instrumentation process is not running (probably crashed). Check the server log and/or the logcat output for more details
    E   Stacktrace:
    E   UnknownError: An unknown server-side error occurred while processing the command. Original error: 'POST /element' cannot be proxied to UiAutomator2 server because the instrumentation process is not running (probably crashed). Check the server log and/or the logcat output for more details
    E       at UIA2Proxy.command (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/@appium/base-driver/lib/jsonwp-proxy/proxy.js:355:13)
    E       at runMicrotasks (<anonymous>)
    E       at processTicksAndRejections (node:internal/process/task_queues:96:5)
    E       at AndroidUiautomator2Driver.doFindElementOrEls (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/lib/commands/find.js:44:7)
    E       at doFind (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/appium-android-driver/lib/commands/find.ts:48:17)
    E       at wrappedCondFn (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/@appium/base-driver/lib/basedriver/commands/timeout.ts:137:14)
    E       at spin (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/asyncbox/lib/asyncbox.js:221:20)
    E       at waitForCondition (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/asyncbox/lib/asyncbox.js:238:10)
    E       at AndroidUiautomator2Driver.implicitWaitForCondition (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/@appium/base-driver/lib/basedriver/commands/timeout.ts:139:12)
    E       at AndroidUiautomator2Driver.findElOrEls (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/appium-android-driver/lib/commands/find.ts:71:5)
    E       at AndroidUiautomator2Driver.findElOrElsWithProcessing (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/@appium/base-driver/lib/basedriver/commands/find.ts:60:12)
    E       at AndroidUiautomator2Driver.findElement (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/@appium/base-driver/lib/basedriver/commands/find.ts:75:12)
    



    5. test_group_chat_join_send_text_messages_push, id: 702807

    Device 1: Tap on found: EditBox
    Device 1: Click until Button by accessibility id: back-button is NOT presented

    Test setup failed: critical/chats/test_group_chat.py:60: in prepare_devices
        self.homes[0].add_contact(self.public_keys[i])
    ../views/home_view.py:429: in add_contact
        chat.close_button.click_until_absense_of_element(chat.close_button)
    ../views/base_element.py:423: in click_until_absense_of_element
        while desired_element.is_element_displayed(timeout) and counter <= attempts:
    ../views/base_element.py:206: in is_element_displayed
        return self.wait_for_visibility_of_element(sec, ignored_exceptions=ignored_exceptions)
    ../views/base_element.py:136: in wait_for_visibility_of_element
        .until(expected_conditions.visibility_of_element_located((self.by, self.locator)))
    ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/support/wait.py:86: in until
        value = method(self._driver)
    ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/support/expected_conditions.py:152: in _predicate
        return _element_if_visible(driver.find_element(*locator))
    ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/appium/webdriver/webdriver.py:409: in find_element
        return self.execute(RemoteCommand.FIND_ELEMENT, {'using': by, 'value': value})['value']
    ../../../../status-app-prs-rerun@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@tmp/venv/lib/python3.10/site-packages/appium/webdriver/errorhandler.py:122: in check_response
        raise exception_class(msg=message, stacktrace=format_stacktrace(stacktrace))
     An unknown server-side error occurred while processing the command. Original error: 'POST /element' cannot be proxied to UiAutomator2 server because the instrumentation process is not running (probably crashed). Check the server log and/or the logcat output for more details
    E   Stacktrace:
    E   UnknownError: An unknown server-side error occurred while processing the command. Original error: 'POST /element' cannot be proxied to UiAutomator2 server because the instrumentation process is not running (probably crashed). Check the server log and/or the logcat output for more details
    E       at UIA2Proxy.command (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/@appium/base-driver/lib/jsonwp-proxy/proxy.js:355:13)
    E       at runMicrotasks (<anonymous>)
    E       at processTicksAndRejections (node:internal/process/task_queues:96:5)
    E       at AndroidUiautomator2Driver.doFindElementOrEls (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/lib/commands/find.js:44:7)
    E       at doFind (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/appium-android-driver/lib/commands/find.ts:48:17)
    E       at wrappedCondFn (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/@appium/base-driver/lib/basedriver/commands/timeout.ts:137:14)
    E       at spin (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/asyncbox/lib/asyncbox.js:221:20)
    E       at waitForCondition (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/asyncbox/lib/asyncbox.js:238:10)
    E       at AndroidUiautomator2Driver.implicitWaitForCondition (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/@appium/base-driver/lib/basedriver/commands/timeout.ts:139:12)
    E       at AndroidUiautomator2Driver.findElOrEls (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/appium-android-driver/lib/commands/find.ts:71:5)
    E       at AndroidUiautomator2Driver.findElOrElsWithProcessing (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/@appium/base-driver/lib/basedriver/commands/find.ts:60:12)
    E       at AndroidUiautomator2Driver.findElement (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/@appium/base-driver/lib/basedriver/commands/find.ts:75:12)
    



    Device sessions

    6. test_group_chat_offline_pn, id: 702808

    Test setup failed: critical/chats/test_group_chat.py:60: in prepare_devices
        self.homes[0].add_contact(self.public_keys[i])
    ../views/home_view.py:429: in add_contact
        chat.close_button.click_until_absense_of_element(chat.close_button)
    ../views/base_element.py:423: in click_until_absense_of_element
        while desired_element.is_element_displayed(timeout) and counter <= attempts:
    ../views/base_element.py:206: in is_element_displayed
        return self.wait_for_visibility_of_element(sec, ignored_exceptions=ignored_exceptions)
    ../views/base_element.py:136: in wait_for_visibility_of_element
        .until(expected_conditions.visibility_of_element_located((self.by, self.locator)))
    ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/support/wait.py:86: in until
        value = method(self._driver)
    ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/support/expected_conditions.py:152: in _predicate
        return _element_if_visible(driver.find_element(*locator))
    ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/appium/webdriver/webdriver.py:409: in find_element
        return self.execute(RemoteCommand.FIND_ELEMENT, {'using': by, 'value': value})['value']
    ../../../../status-app-prs-rerun@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@tmp/venv/lib/python3.10/site-packages/appium/webdriver/errorhandler.py:122: in check_response
        raise exception_class(msg=message, stacktrace=format_stacktrace(stacktrace))
     An unknown server-side error occurred while processing the command. Original error: 'POST /element' cannot be proxied to UiAutomator2 server because the instrumentation process is not running (probably crashed). Check the server log and/or the logcat output for more details
    E   Stacktrace:
    E   UnknownError: An unknown server-side error occurred while processing the command. Original error: 'POST /element' cannot be proxied to UiAutomator2 server because the instrumentation process is not running (probably crashed). Check the server log and/or the logcat output for more details
    E       at UIA2Proxy.command (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/@appium/base-driver/lib/jsonwp-proxy/proxy.js:355:13)
    E       at runMicrotasks (<anonymous>)
    E       at processTicksAndRejections (node:internal/process/task_queues:96:5)
    E       at AndroidUiautomator2Driver.doFindElementOrEls (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/lib/commands/find.js:44:7)
    E       at doFind (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/appium-android-driver/lib/commands/find.ts:48:17)
    E       at wrappedCondFn (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/@appium/base-driver/lib/basedriver/commands/timeout.ts:137:14)
    E       at spin (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/asyncbox/lib/asyncbox.js:221:20)
    E       at waitForCondition (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/asyncbox/lib/asyncbox.js:238:10)
    E       at AndroidUiautomator2Driver.implicitWaitForCondition (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/@appium/base-driver/lib/basedriver/commands/timeout.ts:139:12)
    E       at AndroidUiautomator2Driver.findElOrEls (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/appium-android-driver/lib/commands/find.ts:71:5)
    E       at AndroidUiautomator2Driver.findElOrElsWithProcessing (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/@appium/base-driver/lib/basedriver/commands/find.ts:60:12)
    E       at AndroidUiautomator2Driver.findElement (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/@appium/base-driver/lib/basedriver/commands/find.ts:75:12)
    



    Class TestCommunityMultipleDeviceMergedThree:

    1. test_community_mobile_data_and_wi_fi_only_fetching, id: 741924

    Device 2: Wait for text element BaseElement to be equal to 1
    Device 2: Find BaseElement by xpath: //*[@content-desc='activity-center-unread-count']/android.widget.TextView

    Test setup failed: critical/chats/test_public_chat_browsing.py:1265: in prepare_devices
        self.home_2.handle_contact_request(self.username_1)
    ../views/home_view.py:383: in handle_contact_request
        self.notifications_unread_badge.wait_for_element_text(text=str(notifications_count), wait_time=120)
    ../views/base_element.py:172: in wait_for_element_text
        element_text = self.find_element().text.strip()
    ../views/base_element.py:78: in find_element
        raise NoSuchElementException(
     Device 2: BaseElement by xpath: `//*[@content-desc='activity-center-unread-count']/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 
    

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

    Device sessions

    2. test_community_messaging_on_mobile_data, id: 741926

    Test setup failed: critical/chats/test_public_chat_browsing.py:1265: in prepare_devices
        self.home_2.handle_contact_request(self.username_1)
    ../views/home_view.py:383: in handle_contact_request
        self.notifications_unread_badge.wait_for_element_text(text=str(notifications_count), wait_time=120)
    ../views/base_element.py:172: in wait_for_element_text
        element_text = self.find_element().text.strip()
    ../views/base_element.py:78: in find_element
        raise NoSuchElementException(
     Device 2: BaseElement by xpath: `//*[@content-desc='activity-center-unread-count']/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
    



    3. test_community_send_message_from_offline, id: 741925

    Test setup failed: critical/chats/test_public_chat_browsing.py:1265: in prepare_devices
        self.home_2.handle_contact_request(self.username_1)
    ../views/home_view.py:383: in handle_contact_request
        self.notifications_unread_badge.wait_for_element_text(text=str(notifications_count), wait_time=120)
    ../views/base_element.py:172: in wait_for_element_text
        element_text = self.find_element().text.strip()
    ../views/base_element.py:78: in find_element
        raise NoSuchElementException(
     Device 2: BaseElement by xpath: `//*[@content-desc='activity-center-unread-count']/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
    



    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_emoji_send_reply_and_open_link, id: 702782

    Test setup failed: critical/chats/test_1_1_public_chats.py:39: in prepare_devices
        self.home_2.handle_contact_request(self.username_1)
    ../views/home_view.py:383: in handle_contact_request
        self.notifications_unread_badge.wait_for_element_text(text=str(notifications_count), wait_time=120)
    ../views/base_element.py:172: in wait_for_element_text
        element_text = self.find_element().text.strip()
    ../views/base_element.py:78: in find_element
        raise NoSuchElementException(
     Device 2: BaseElement by xpath: `//*[@content-desc='activity-center-unread-count']/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
    



    2. test_1_1_chat_text_message_delete_push_disappear, id: 702733

    Test setup failed: critical/chats/test_1_1_public_chats.py:39: in prepare_devices
        self.home_2.handle_contact_request(self.username_1)
    ../views/home_view.py:383: in handle_contact_request
        self.notifications_unread_badge.wait_for_element_text(text=str(notifications_count), wait_time=120)
    ../views/base_element.py:172: in wait_for_element_text
        element_text = self.find_element().text.strip()
    ../views/base_element.py:78: in find_element
        raise NoSuchElementException(
     Device 2: BaseElement by xpath: `//*[@content-desc='activity-center-unread-count']/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
    



    3. test_1_1_chat_push_emoji, id: 702813

    Test setup failed: critical/chats/test_1_1_public_chats.py:39: in prepare_devices
        self.home_2.handle_contact_request(self.username_1)
    ../views/home_view.py:383: in handle_contact_request
        self.notifications_unread_badge.wait_for_element_text(text=str(notifications_count), wait_time=120)
    ../views/base_element.py:172: in wait_for_element_text
        element_text = self.find_element().text.strip()
    ../views/base_element.py:78: in find_element
        raise NoSuchElementException(
     Device 2: BaseElement by xpath: `//*[@content-desc='activity-center-unread-count']/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
    



    4. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745

    Test setup failed: critical/chats/test_1_1_public_chats.py:39: in prepare_devices
        self.home_2.handle_contact_request(self.username_1)
    ../views/home_view.py:383: in handle_contact_request
        self.notifications_unread_badge.wait_for_element_text(text=str(notifications_count), wait_time=120)
    ../views/base_element.py:172: in wait_for_element_text
        element_text = self.find_element().text.strip()
    ../views/base_element.py:78: in find_element
        raise NoSuchElementException(
     Device 2: BaseElement by xpath: `//*[@content-desc='activity-center-unread-count']/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
    



    5. test_1_1_chat_edit_message, id: 702855

    Test setup failed: critical/chats/test_1_1_public_chats.py:39: in prepare_devices
        self.home_2.handle_contact_request(self.username_1)
    ../views/home_view.py:383: in handle_contact_request
        self.notifications_unread_badge.wait_for_element_text(text=str(notifications_count), wait_time=120)
    ../views/base_element.py:172: in wait_for_element_text
        element_text = self.find_element().text.strip()
    ../views/base_element.py:78: in find_element
        raise NoSuchElementException(
     Device 2: BaseElement by xpath: `//*[@content-desc='activity-center-unread-count']/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
    



    6. test_1_1_chat_send_image_save_and_share, id: 703391

    Test setup failed: critical/chats/test_1_1_public_chats.py:39: in prepare_devices
        self.home_2.handle_contact_request(self.username_1)
    ../views/home_view.py:383: in handle_contact_request
        self.notifications_unread_badge.wait_for_element_text(text=str(notifications_count), wait_time=120)
    ../views/base_element.py:172: in wait_for_element_text
        element_text = self.find_element().text.strip()
    ../views/base_element.py:78: in find_element
        raise NoSuchElementException(
     Device 2: BaseElement by xpath: `//*[@content-desc='activity-center-unread-count']/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
    



    7. test_1_1_chat_pin_messages, id: 702731

    Test setup failed: critical/chats/test_1_1_public_chats.py:39: in prepare_devices
        self.home_2.handle_contact_request(self.username_1)
    ../views/home_view.py:383: in handle_contact_request
        self.notifications_unread_badge.wait_for_element_text(text=str(notifications_count), wait_time=120)
    ../views/base_element.py:172: in wait_for_element_text
        element_text = self.find_element().text.strip()
    ../views/base_element.py:78: in find_element
        raise NoSuchElementException(
     Device 2: BaseElement by xpath: `//*[@content-desc='activity-center-unread-count']/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
    



    8. test_1_1_chat_message_reaction, id: 702730

    Device 2: Wait for text element BaseElement to be equal to 1
    Device 2: Find BaseElement by xpath: //*[@content-desc='activity-center-unread-count']/android.widget.TextView

    Test setup failed: critical/chats/test_1_1_public_chats.py:39: in prepare_devices
        self.home_2.handle_contact_request(self.username_1)
    ../views/home_view.py:383: in handle_contact_request
        self.notifications_unread_badge.wait_for_element_text(text=str(notifications_count), wait_time=120)
    ../views/base_element.py:172: in wait_for_element_text
        element_text = self.find_element().text.strip()
    ../views/base_element.py:78: in find_element
        raise NoSuchElementException(
     Device 2: BaseElement by xpath: `//*[@content-desc='activity-center-unread-count']/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

    Class TestCommunityMultipleDeviceMergedTwo:

    1. test_community_markdown_support, id: 702809

    Test setup failed: critical/chats/test_public_chat_browsing.py:866: in prepare_devices
        self.home_2.handle_contact_request(self.username_1)
    ../views/home_view.py:383: in handle_contact_request
        self.notifications_unread_badge.wait_for_element_text(text=str(notifications_count), wait_time=120)
    ../views/base_element.py:172: in wait_for_element_text
        element_text = self.find_element().text.strip()
    ../views/base_element.py:78: in find_element
        raise NoSuchElementException(
     Device 2: BaseElement by xpath: `//*[@content-desc='activity-center-unread-count']/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
    



    2. test_community_hashtag_links_to_community_channels, id: 702948

    Test setup failed: critical/chats/test_public_chat_browsing.py:866: in prepare_devices
        self.home_2.handle_contact_request(self.username_1)
    ../views/home_view.py:383: in handle_contact_request
        self.notifications_unread_badge.wait_for_element_text(text=str(notifications_count), wait_time=120)
    ../views/base_element.py:172: in wait_for_element_text
        element_text = self.find_element().text.strip()
    ../views/base_element.py:78: in find_element
        raise NoSuchElementException(
     Device 2: BaseElement by xpath: `//*[@content-desc='activity-center-unread-count']/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 
    

    [[Can't navigate to a community channel before joining the community, https://github.com//issues/21776]]

    3. test_community_mentions_push_notification, id: 702786

    Device 2: Wait for text element BaseElement to be equal to 1
    Device 2: Find BaseElement by xpath: //*[@content-desc='activity-center-unread-count']/android.widget.TextView

    Test setup failed: critical/chats/test_public_chat_browsing.py:866: in prepare_devices
        self.home_2.handle_contact_request(self.username_1)
    ../views/home_view.py:383: in handle_contact_request
        self.notifications_unread_badge.wait_for_element_text(text=str(notifications_count), wait_time=120)
    ../views/base_element.py:172: in wait_for_element_text
        element_text = self.find_element().text.strip()
    ../views/base_element.py:78: in find_element
        raise NoSuchElementException(
     Device 2: BaseElement by xpath: `//*[@content-desc='activity-center-unread-count']/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_community_leave, id: 702845

    Test setup failed: critical/chats/test_public_chat_browsing.py:866: in prepare_devices
        self.home_2.handle_contact_request(self.username_1)
    ../views/home_view.py:383: in handle_contact_request
        self.notifications_unread_badge.wait_for_element_text(text=str(notifications_count), wait_time=120)
    ../views/base_element.py:172: in wait_for_element_text
        element_text = self.find_element().text.strip()
    ../views/base_element.py:78: in find_element
        raise NoSuchElementException(
     Device 2: BaseElement by xpath: `//*[@content-desc='activity-center-unread-count']/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
    



    5. test_community_join_when_node_owner_offline, id: 703629

    Test setup failed: critical/chats/test_public_chat_browsing.py:866: in prepare_devices
        self.home_2.handle_contact_request(self.username_1)
    ../views/home_view.py:383: in handle_contact_request
        self.notifications_unread_badge.wait_for_element_text(text=str(notifications_count), wait_time=120)
    ../views/base_element.py:172: in wait_for_element_text
        element_text = self.find_element().text.strip()
    ../views/base_element.py:78: in find_element
        raise NoSuchElementException(
     Device 2: BaseElement by xpath: `//*[@content-desc='activity-center-unread-count']/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 
    

    [[Can't navigate to a community channel before joining the community, https://github.com//issues/21776]]

    Expected to fail tests (4)

    Click to expand

    Class TestCommunityOneDeviceMerged:

    1. test_community_discovery, id: 703503

    critical/chats/test_public_chat_browsing.py:253: in test_community_discovery
        self.sign_in.explore_new_status_button.click_if_shown()
    ../views/base_element.py:211: in click_if_shown
        if self.is_element_displayed(sec=sec):
    ../views/base_element.py:206: in is_element_displayed
        return self.wait_for_visibility_of_element(sec, ignored_exceptions=ignored_exceptions)
    ../views/base_element.py:136: in wait_for_visibility_of_element
        .until(expected_conditions.visibility_of_element_located((self.by, self.locator)))
    ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/support/wait.py:86: in until
        value = method(self._driver)
    ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/support/expected_conditions.py:152: in _predicate
        return _element_if_visible(driver.find_element(*locator))
    ../../../../status-app-prs-rerun@tmp/venv/lib/python3.10/site-packages/appium/webdriver/webdriver.py:409: in find_element
        return self.execute(RemoteCommand.FIND_ELEMENT, {'using': by, 'value': value})['value']
    ../../../../status-app-prs-rerun@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@tmp/venv/lib/python3.10/site-packages/appium/webdriver/errorhandler.py:122: in check_response
        raise exception_class(msg=message, stacktrace=format_stacktrace(stacktrace))
     An unknown server-side error occurred while processing the command. Original error: 'POST /element' cannot be proxied to UiAutomator2 server because the instrumentation process is not running (probably crashed). Check the server log and/or the logcat output for more details
    E   Stacktrace:
    E   UnknownError: An unknown server-side error occurred while processing the command. Original error: 'POST /element' cannot be proxied to UiAutomator2 server because the instrumentation process is not running (probably crashed). Check the server log and/or the logcat output for more details
    E       at UIA2Proxy.command (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/@appium/base-driver/lib/jsonwp-proxy/proxy.js:355:13)
    E       at runMicrotasks (<anonymous>)
    E       at processTicksAndRejections (node:internal/process/task_queues:96:5)
    E       at AndroidUiautomator2Driver.doFindElementOrEls (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/lib/commands/find.js:44:7)
    E       at doFind (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/appium-android-driver/lib/commands/find.ts:48:17)
    E       at wrappedCondFn (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/@appium/base-driver/lib/basedriver/commands/timeout.ts:137:14)
    E       at spin (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/asyncbox/lib/asyncbox.js:221:20)
    E       at waitForCondition (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/asyncbox/lib/asyncbox.js:238:10)
    E       at AndroidUiautomator2Driver.implicitWaitForCondition (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/@appium/base-driver/lib/basedriver/commands/timeout.ts:139:12)
    E       at AndroidUiautomator2Driver.findElOrEls (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/appium-android-driver/lib/commands/find.ts:71:5)
    E       at AndroidUiautomator2Driver.findElOrElsWithProcessing (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/@appium/base-driver/lib/basedriver/commands/find.ts:60:12)
    E       at AndroidUiautomator2Driver.findElement (/root/lambda/shared-tools/volume/uiautomator/uiautomator-2.32.3/node_modules/@appium/base-driver/lib/basedriver/commands/find.ts:75:12) 
    

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

    Device sessions

    Class TestWalletCollectibles:

    1. test_wallet_send_collectible, id: 741840

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

    critical/wallet/test_collectibles.py:141: in test_wallet_send_collectible
        self.wallet_view.slide_button_track.slide()
    ../views/base_view.py:107: in slide
        self.swipe_right_on_element(width_percentage=1.3, start_x=100)
    ../views/base_element.py:288: in swipe_right_on_element
        location, size = self.get_element_coordinates()
    ../views/base_element.py:274: in get_element_coordinates
        element = self.find_element()
    ../views/base_element.py:78: 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 
    

    [[Collectibles list is not loaded sometimes]]

    2. test_wallet_collectibles_balance, id: 741839

    # STEP: Check BVL collectible info and image
    # STEP: Check Glitch Punks collectible info and image

    critical/wallet/test_collectibles.py:95: in test_wallet_collectibles_balance
        self.errors.verify_no_errors()
    base_test_case.py:179: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Device 1: Collectible 'BVL' is not displayed
    E    Device 1: Collectible 'Glitch Punks' is not displayed 
    

    [[Collectibles list is not loaded sometimes]]

    3. test_wallet_collectible_send_from_expanded_info_view, id: 741841

    Device 1: Find Button by accessibility id: collectibles-tab
    Device 1: Tap on found: Button

    critical/wallet/test_collectibles.py:153: in test_wallet_collectible_send_from_expanded_info_view
        self.wallet_view.get_collectible_element('Glitch Punks').wait_for_element().click()
    ../views/base_element.py:120: in wait_for_element
        raise TimeoutException(
     Device `1`: `CollectibleItemElement` by` xpath`: `//*[@content-desc='collectible-list-item']//*[contains(@text,'Glitch Punks')]/../..` is not found on the screen after wait_for_element 
    

    [[Collectibles list is not loaded sometimes]]

    Passed tests (22)

    Click to expand

    Class TestWalletMultipleDevice:

    1. test_wallet_send_asset_from_drawer, id: 727230
    2. test_wallet_send_eth, id: 727229

    Class TestAndroid13:

    1. test_create_account_android_13, id: 741807
    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 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 TestWalletOneDevice:

    1. test_wallet_swap_flow_mainnet, id: 741555
    2. test_wallet_add_remove_regular_account, id: 727231
    3. test_wallet_balance_mainnet, id: 740490
    4. test_wallet_bridge_flow_mainnet, id: 741612
    5. test_wallet_send_flow_mainnet, id: 741554

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

    1. test_create_account_android_12, id: 741806
    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

    @pavloburykh
    Copy link
    Copy Markdown
    Contributor

    pavloburykh commented Mar 13, 2025

    @ulisesmac thanks for the PR. Please take a look at the issues below.

    ISSUE 1 Reactions are displayed in message longtap menu in view only channels

    This is probably some old issue, not related directlly to PR. But would be nice to be fixed in scope of current PR. It's up to you @ulisesmac

    Steps:

    1. Join view only channels
    2. Longtap on any message in channel
    3. See if reactions are displayed in longtap menu

    Expected result: reactions should not be displayed, as user cannot set reactions in view only channel

    Actual result: reactions are displayed, despite user cannot apply them in view only channel

    telegram-cloud-document-2-5375245824001337222.mp4

    @pavloburykh
    Copy link
    Copy Markdown
    Contributor

    pavloburykh commented Mar 13, 2025

    @ulisesmac @ilmotta Wanted to share my experience regarding testing permissions. In some aspects it is quite painful because permission updates seem to work very bad. Below I will describe couple of cases. These issues are not related to current PR, so probably should be investigated separately.

    Case 1 Updates of channel permissions on Admins side are not applied for Mobile member until he re-joins community

    Preconditions:

    Mobile user is a member of community and has access to token gated channel (meets requirements).

    Steps:

    1. Admin control node updates permission to the channel so Mobile user does not meet requirements anymore
    2. See if channel becomes locked for Mobile user

    Actual result: channel is not locked, user can enter the channel view and post messages depending on channel permissions. Permissions are updated only after user leaves and re-joins community from scratch (see video below).

    The same situation in other directions: admin updates permission so mobile member who previously didn't meet requirements now meets them but still does not have access to the channel.

    telegram-cloud-document-2-5375245824001337312.mp4

    Case 2 Removing/adding the additional wallet account which holds tokens required for channel permission does not impact accessibility of token gated channels

    Preconditions:

    Mobile user imports wallet account which holds required tokens for access in token gated channel

    Steps:

    1. User joins community with token gated channels. User has access to token gated channels because he holds enough tokens on imported wallet account.
    2. User removes wallet account which holds required tokens
    3. See if user still has access to token gated channels

    Expected result: user should loose access to token gated channel as he no longer holds required tokens

    Actual result: user still has access to token gated channel despite he does not meet requirements anymore. Moreover, even if user leaves and then re-joins community he will still have access to channels. Looks like if user once shared imported account during initial community join this account somehow caches on backend side and system acts like user still has this account despite it has been already removed.

    Same works in other side: if Mobile member previously didn't have access to token gated channel, he will not get this access even after importing wallet account which holds required tokens.

    @pavloburykh
    Copy link
    Copy Markdown
    Contributor

    pavloburykh commented Mar 13, 2025

    There might be more cases, those are only some of them. Just wondering, at which point permission updates on control node side should be applied for community members? And at which point updates on community member side should be applied on control node side? Probably it sometimes may take a lot of time, but how much? Or maybe there are some existing issues on client side which result in problems related to sending/receiving data to/from control node.

    @pavloburykh
    Copy link
    Copy Markdown
    Contributor

    pavloburykh commented Mar 13, 2025

    Basically, this PR has fixed initial issue with View-only permission not been working at all on mobile. But when I proceed with more deeper testing of permissions I am just facing global issues (as described above) and probably not related to this PR.

    @ilmotta
    Copy link
    Copy Markdown
    Contributor

    ilmotta commented Mar 13, 2025

    @ulisesmac @pavloburykh If you uncovered many issues outside the scope of the PR, I think it's still valuable to capture them as issues outside this PR (unless they are already documented). If it's difficult to QA, it's probably going to be bad for users, so let's endure some of the pain. But perhaps then, let's not try to merge this PR necessarily if it's difficult, but since we are here, we can use this PR for learning purposes to help build up the (bug) scope regarding token gated communities.

    Given our goal of validating community features to users and marketing it, with the help of the Desktop team, we may need to actually fix some of these issues in 2.34 or later. If not, understanding how problematic the features operate, the investigation from QA can at least be more evidence of how we should consider simplifying/removing certain token-gated features.

    Does that sound good and is the plan clear in your opinion?

    @ulisesmac
    Copy link
    Copy Markdown
    Contributor Author

    @ilmotta Since I'm already paying attention to communities, I can help to solve the issues.

    I'd prefer to have the issues reported separately, merge this PR and then fix them gradually.
    Also we might need to align with designers and (maybe Volo?) to clarify the requirements on this feature.

    @ulisesmac ulisesmac force-pushed the 22803-add-support-for-view-only-permissions-channels branch from 6a24b68 to ddb8c53 Compare March 13, 2025 19:57
    @ilmotta
    Copy link
    Copy Markdown
    Contributor

    ilmotta commented Mar 14, 2025

    @ilmotta Since I'm already paying attention to communities, I can help to solve the issues.

    I'd prefer to have the issues reported separately, merge this PR and then fix them gradually. Also we might need to align with designers and (maybe Volo?) to clarify the requirements on this feature.

    @ulisesmac Token gated channels are full of problems as far as we've seen and most fixes will require changes in status-go. The expertise on fixing some of these bugs lie in the Desktop team members, but we can help as well. I agree on reporting bugs unrelated to your PR in separate issues, that would be helpful for us to understand better the full scope. @pavloburykh

    But in 2.34 we won't be able to work much on token-gated related bugs. Next Monday we will have a call with the Desktop team and Design team to review the product briefs (high-level features defined by Volo) that we will need to work on in 2.34 and I can tell you we will be busy with the upcoming features and the other bugs we already have on our plate :)

    Once you finish this PR, a good one that I got approval for our team to work for a few days is #21896 or #21649.

    @pavloburykh
    Copy link
    Copy Markdown
    Contributor

    pavloburykh commented Mar 14, 2025

    @ulisesmac thank you for the PR. I agree with @ilmotta that probably most of the described above issues are related to status-go. I will log them separately so we can investigate once we decide it to be a priority.

    Current PR is rested and ready for merge.

    What has been tested:

    1. View-only channel permission support has been added ("View only" permission channels are not supported on mobile #22083 is fixed). User can view channel history but cannot post.
    2. Checked different kinds of permissons (i.e view only, veiw and post, anyone can view only etc) with different kinds of tokens including minted ones.
    3. Smoke checked token gated communities (become a member permission)

    I have logged a separate issue related to channel permissions where I described couple of bugs which probably have common root cause #22296. I can log separate issues for each bug if needed. I am not even sure this is something which should be handled by mobile team, it is probably related to status-go as has been mentioned by @ilmotta and we are living with those issues for quite a long time I suppose.

    Another issue which I have logged #22297 is related to mobile and can fixed depending on priorities. I consider it to be low priority but feel free to prioritise @ilmotta in case you disagree.

    @pavloburykh pavloburykh moved this from IN TESTING to MERGE in Pipeline for QA Mar 14, 2025
    @ulisesmac ulisesmac merged commit 24a82de into develop Mar 18, 2025
    1 check passed
    @ulisesmac ulisesmac deleted the 22803-add-support-for-view-only-permissions-channels branch March 18, 2025 19:19
    @github-project-automation github-project-automation Bot moved this from MERGE to DONE in Pipeline for QA Mar 18, 2025
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

    Projects

    Archived in project

    Development

    Successfully merging this pull request may close these issues.

    "View only" permission channels are not supported on mobile

    7 participants