Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

feat: use 1 content-topic for all chats within a community (not to merge) #21407

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

Conversation

chaitanyaprem
Copy link
Contributor

Summary

This PR is mainly to dogfood underlying changes made in status-go.

Reference PR status-im/status-go#5864 which has details.

This PR uses single content-topic for all community chats to send messages. It still receives messages on all existing content-topics used by previous versions in order to maintain compatibility.

Details of the discussion are available https://forum.vac.dev/t/status-communities-review-and-proposed-usage-of-waku-content-topics/335/29

Testing notes

Platforms

  • Android
  • iOS

Areas that maybe impacted

Community chats and control flows

Functional
  • public chats
  • all community chats and control flows (channel creation, updation, deletion, permissions change, user add, user kick etc)
  • new account

Steps to test

  • This PR would require complete testing of communities in relay and light modes.
  • It would also require to be tested for compacibility with older version of the code.
  • Best to check all admin functions as well using this new code
  • We also need to validate if community admin is using older code and a member is using new code there are no incompatibilites.
  • All chats and community flows such as add member, remove member, add channel, delete channel, change permissions to channels etc

Risk

Described potential risks and worst case scenarios.

Tick one:

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

-->

@status-im-auto
Copy link
Member

status-im-auto commented Oct 9, 2024

Jenkins Builds

Click to see older builds (4)
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ a0930bf #1 2024-10-09 10:38:32 ~5 min tests 📄log
✔️ a0930bf #1 2024-10-09 10:41:35 ~8 min android-e2e 🤖apk 📲
✔️ a0930bf #1 2024-10-09 10:42:45 ~9 min android 🤖apk 📲
✔️ a0930bf #1 2024-10-09 10:43:21 ~10 min ios 📱ipa 📲
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ e57f206 #3 2024-10-17 08:05:44 ~4 min tests 📄log
✔️ e57f206 #3 2024-10-17 08:08:02 ~7 min android-e2e 🤖apk 📲
✔️ e57f206 #3 2024-10-17 08:10:12 ~9 min android 🤖apk 📲
✔️ e57f206 #3 2024-10-17 08:11:29 ~10 min ios 📱ipa 📲
✔️ 66733bc #4 2024-12-12 06:17:30 ~6 min tests 📄log
✔️ 66733bc #4 2024-12-12 06:19:19 ~8 min ios 📱ipa 📲
✔️ 66733bc #4 2024-12-12 06:21:22 ~10 min android-e2e 🤖apk 📲
✔️ 66733bc #4 2024-12-12 06:22:57 ~12 min android 🤖apk 📲

@flexsurfer flexsurfer added status-go waku All issues relating to the Status Waku integration. labels Oct 9, 2024
@churik churik added the blocked label Oct 9, 2024
@churik
Copy link
Member

churik commented Oct 9, 2024

Blocking it until 2.31 is cut

@chaitanyaprem chaitanyaprem force-pushed the feat/community-content-topic branch 2 times, most recently from 519e4fb to e57f206 Compare October 17, 2024 08:00
@churik
Copy link
Member

churik commented Nov 4, 2024

@chaitanyaprem
when status-go code is ready, please update it here and move to E2E tests column.
Besides, I suppose we need to check it with desktop based on the same status-go, so please mention me and @anastasiyaig in status-im/status-go#5864
Thanks!

@churik churik removed the blocked label Nov 4, 2024
@chaitanyaprem chaitanyaprem force-pushed the feat/community-content-topic branch from e57f206 to 66733bc Compare December 12, 2024 06:10
@chaitanyaprem
Copy link
Contributor Author

@churik this code is ready from status-go side and has been validated and dogfooded by devs.
This can be taken up for 2.33.

@status-im-auto
Copy link
Member

0% of end-end tests have passed

Total executed tests: 8
Failed tests: 8
Expected to fail tests: 0
Passed tests: 0
IDs of failed tests: 727230,727231,702745,702742,740490,727229,703133,702843 

Failed tests (8)

Click to expand
  • Rerun failed tests

  • Class TestCommunityMultipleDeviceMerged:

    1. test_community_message_edit, id: 702843

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

    Test setup failed: critical/chats/test_public_chat_browsing.py:309: in prepare_devices
        self.loop.run_until_complete(run_in_parallel(((self.device_1.create_user, {'enable_notifications': True}),
    /usr/lib/python3.10/asyncio/base_events.py:649: in run_until_complete
        return future.result()
    __init__.py:52: in run_in_parallel
        returns.append(await k)
    /usr/lib/python3.10/concurrent/futures/thread.py:58: in run
        result = self.fn(*self.args, **self.kwargs)
    ../views/sign_in_view.py:243: in create_user
        self.maybe_later_button.wait_and_click()
    ../views/base_element.py:100: in wait_and_click
        self.wait_for_visibility_of_element(sec)
    ../views/base_element.py:147: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 1: Button by accessibility id:`maybe-later-button` is not found on the screen after wait_for_visibility_of_element
    



    Device sessions

    Class TestWalletMultipleDevice:

    1. test_wallet_send_asset_from_drawer, id: 727230

    Test setup failed: critical/test_wallet.py:27: in prepare_devices
        self.loop.run_until_complete(
    /usr/lib/python3.10/asyncio/base_events.py:649: in run_until_complete
        return future.result()
    __init__.py:52: in run_in_parallel
        returns.append(await k)
    /usr/lib/python3.10/concurrent/futures/thread.py:58: in run
        result = self.fn(*self.args, **self.kwargs)
    ../views/sign_in_view.py:267: in recover_access
        self.maybe_later_button.wait_and_click()
    ../views/base_element.py:100: in wait_and_click
        self.wait_for_visibility_of_element(sec)
    ../views/base_element.py:147: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 1: Button by accessibility id:`maybe-later-button` is not found on the screen after wait_for_visibility_of_element
    



    2. test_wallet_send_eth, id: 727229

    Device 1: Wait for element Button for max 30s and click when it is available
    Device 2: Wait for element Button for max 30s and click when it is available

    Test setup failed: critical/test_wallet.py:27: in prepare_devices
        self.loop.run_until_complete(
    /usr/lib/python3.10/asyncio/base_events.py:649: in run_until_complete
        return future.result()
    __init__.py:52: in run_in_parallel
        returns.append(await k)
    /usr/lib/python3.10/concurrent/futures/thread.py:58: in run
        result = self.fn(*self.args, **self.kwargs)
    ../views/sign_in_view.py:267: in recover_access
        self.maybe_later_button.wait_and_click()
    ../views/base_element.py:100: in wait_and_click
        self.wait_for_visibility_of_element(sec)
    ../views/base_element.py:147: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 1: Button by accessibility id:`maybe-later-button` is not found on the screen after wait_for_visibility_of_element
    



    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745

    Device 2: Wait for element Button for max 30s and click when it is available
    Device 1: Wait for element Button for max 30s and click when it is available

    Test setup failed: critical/chats/test_1_1_public_chats.py:23: in prepare_devices
        self.loop.run_until_complete(run_in_parallel(((self.device_1.create_user, {'enable_notifications': True}),
    /usr/lib/python3.10/asyncio/base_events.py:649: in run_until_complete
        return future.result()
    __init__.py:52: in run_in_parallel
        returns.append(await k)
    /usr/lib/python3.10/concurrent/futures/thread.py:58: in run
        result = self.fn(*self.args, **self.kwargs)
    ../views/sign_in_view.py:243: in create_user
        self.maybe_later_button.wait_and_click()
    ../views/base_element.py:100: in wait_and_click
        self.wait_for_visibility_of_element(sec)
    ../views/base_element.py:147: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 1: Button by accessibility id:`maybe-later-button` is not found on the screen after wait_for_visibility_of_element
    



    Device sessions

    Class TestCommunityOneDeviceMerged:

    1. test_community_copy_and_paste_message_in_chat_input, id: 702742

    Device 1: Find Button by accessibility id: new-to-status-button
    Device 1: Wait for element Button for max 30s and click when it is available

    Test setup failed: critical/chats/test_public_chat_browsing.py:25: in prepare_devices
        self.home = self.sign_in.create_user()
    ../views/sign_in_view.py:243: in create_user
        self.maybe_later_button.wait_and_click()
    ../views/base_element.py:100: in wait_and_click
        self.wait_for_visibility_of_element(sec)
    ../views/base_element.py:147: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 1: Button by accessibility id:`maybe-later-button` is not found on the screen after wait_for_visibility_of_element
    



    Device sessions

    2. test_restore_multiaccount_with_waku_backup_remove_profile_switch, id: 703133

    Test setup failed: critical/chats/test_public_chat_browsing.py:25: in prepare_devices
        self.home = self.sign_in.create_user()
    ../views/sign_in_view.py:243: in create_user
        self.maybe_later_button.wait_and_click()
    ../views/base_element.py:100: in wait_and_click
        self.wait_for_visibility_of_element(sec)
    ../views/base_element.py:147: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 1: Button by accessibility id:`maybe-later-button` is not found on the screen after wait_for_visibility_of_element
    



    Class TestWalletOneDevice:

    1. test_wallet_add_remove_regular_account, id: 727231

    Test setup failed: critical/test_wallet.py:207: in prepare_devices
        self.sign_in_view.recover_access(passphrase=self.sender['passphrase'])
    ../views/sign_in_view.py:267: in recover_access
        self.maybe_later_button.wait_and_click()
    ../views/base_element.py:100: in wait_and_click
        self.wait_for_visibility_of_element(sec)
    ../views/base_element.py:147: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 1: Button by accessibility id:`maybe-later-button` is not found on the screen after wait_for_visibility_of_element
    



    2. test_wallet_balance_mainnet, id: 740490

    Device 1: Find Button by accessibility id: new-to-status-button
    Device 1: Wait for element Button for max 30s and click when it is available

    Test setup failed: critical/test_wallet.py:207: in prepare_devices
        self.sign_in_view.recover_access(passphrase=self.sender['passphrase'])
    ../views/sign_in_view.py:267: in recover_access
        self.maybe_later_button.wait_and_click()
    ../views/base_element.py:100: in wait_and_click
        self.wait_for_visibility_of_element(sec)
    ../views/base_element.py:147: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 1: Button by accessibility id:`maybe-later-button` is not found on the screen after wait_for_visibility_of_element
    



    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    status-go waku All issues relating to the Status Waku integration.
    Projects
    Status: E2E Tests
    Development

    Successfully merging this pull request may close these issues.

    4 participants