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

[#17572] fix: 'Join Community' notification is not getting dismissed #17834

Merged
merged 1 commit into from
Dec 4, 2023

Conversation

mohsen-ghafouri
Copy link
Contributor

@mohsen-ghafouri mohsen-ghafouri commented Nov 6, 2023

fixes #17572

Summary

After joining a community, the 'Join Community' notification remains persistent in the notification center, even after accessing the community. Additionally, tapping on the notification has no effect.

Steps to test

  1. Join a new community.
  2. Open the notification center.
  3. Tap on the 'Join Community' notification.
  4. Open the community.

Before and after screenshots comparison

  • When user navigate to community
Simulator.Screen.Recording.-.iPhone.11.Pro.-.2023-11-07.at.17.32.59.mp4
  • When user click on joined community notification
Simulator.Screen.Recording.-.iPhone.11.Pro.-.2023-11-07.at.17.34.04.mp4

status: ready

@mohsen-ghafouri mohsen-ghafouri self-assigned this Nov 6, 2023
@status-im-auto
Copy link
Member

status-im-auto commented Nov 6, 2023

Jenkins Builds

Click to see older builds (49)
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 5637373 #1 2023-11-06 19:27:51 ~6 min android-e2e 🤖apk 📲
✔️ 5637373 #1 2023-11-06 19:28:53 ~7 min android 🤖apk 📲
✔️ 5637373 #1 2023-11-06 19:31:49 ~10 min tests 📄log
✔️ 5637373 #1 2023-11-06 19:33:17 ~12 min ios 📱ipa 📲
c0c6937 #2 2023-11-07 15:03:54 ~6 min tests 📄log
✔️ 3c153e7 #3 2023-11-07 15:11:18 ~6 min android-e2e 🤖apk 📲
✔️ 3c153e7 #3 2023-11-07 15:11:59 ~7 min android 🤖apk 📲
✔️ 3c153e7 #3 2023-11-07 15:15:08 ~10 min tests 📄log
✔️ 3c153e7 #3 2023-11-07 15:16:49 ~12 min ios 📱ipa 📲
✔️ 94c2cf9 #4 2023-11-07 15:45:40 ~5 min ios 📱ipa 📲
✔️ 94c2cf9 #4 2023-11-07 15:46:18 ~6 min android-e2e 🤖apk 📲
✔️ 94c2cf9 #4 2023-11-07 15:47:57 ~8 min android 🤖apk 📲
✔️ 94c2cf9 #4 2023-11-07 15:52:20 ~12 min tests 📄log
✔️ e7533b8 #5 2023-11-08 07:17:55 ~6 min ios 📱ipa 📲
✔️ e7533b8 #5 2023-11-08 07:18:10 ~7 min android 🤖apk 📲
✔️ e7533b8 #5 2023-11-08 07:19:04 ~8 min android-e2e 🤖apk 📲
✔️ e7533b8 #5 2023-11-08 07:21:13 ~10 min tests 📄log
✔️ 38fbbcf #7 2023-11-09 10:22:16 ~7 min android 🤖apk 📲
✔️ 38fbbcf #7 2023-11-09 10:23:57 ~8 min android-e2e 🤖apk 📲
✔️ 38fbbcf #7 2023-11-09 10:25:20 ~10 min tests 📄log
✔️ 38fbbcf #7 2023-11-09 10:28:17 ~13 min ios 📱ipa 📲
✔️ 0962255 #8 2023-11-09 11:48:45 ~5 min android-e2e 🤖apk 📲
✔️ 0962255 #8 2023-11-09 11:53:45 ~10 min android 🤖apk 📲
✔️ 0962255 #8 2023-11-09 11:53:53 ~10 min tests 📄log
✔️ 0962255 #8 2023-11-09 11:54:26 ~11 min ios 📱ipa 📲
✔️ 1b3697d #9 2023-11-10 20:51:39 ~6 min android-e2e 🤖apk 📲
✔️ 1b3697d #9 2023-11-10 20:52:56 ~7 min android 🤖apk 📲
✔️ 1b3697d #9 2023-11-10 20:54:46 ~9 min tests 📄log
✔️ 1b3697d #9 2023-11-10 20:58:55 ~13 min ios 📱ipa 📲
✔️ 3bf94c4 #10 2023-11-13 18:13:20 ~7 min android-e2e 🤖apk 📲
✔️ 3bf94c4 #10 2023-11-13 18:14:26 ~8 min android 🤖apk 📲
✔️ 3bf94c4 #10 2023-11-13 18:17:02 ~11 min tests 📄log
✔️ 3bf94c4 #10 2023-11-13 18:18:01 ~12 min ios 📱ipa 📲
✔️ 0309ad2 #12 2023-11-14 11:30:13 ~9 min android-e2e 🤖apk 📲
✔️ 0309ad2 #12 2023-11-14 11:30:35 ~9 min android 🤖apk 📲
✔️ 0309ad2 #12 2023-11-14 11:33:43 ~12 min tests 📄log
0309ad2 #12 2023-11-14 12:03:31 ~42 min ios 📄log
0309ad2 #13 2023-11-14 13:14:15 ~4 min ios 📄log
✔️ 0309ad2 #14 2023-11-14 14:06:30 ~22 min ios 📱ipa 📲
✔️ 0309ad2 #13 2023-11-30 13:35:10 ~9 min android-e2e 🤖apk 📲
✔️ 0309ad2 #13 2023-11-30 13:36:41 ~10 min android 🤖apk 📲
✔️ 0309ad2 #13 2023-11-30 13:39:08 ~12 min tests 📄log
✔️ 0309ad2 #15 2023-11-30 13:40:19 ~14 min ios 📱ipa 📲
✔️ ca9dc09 #15 2023-11-30 13:54:39 ~7 min android-e2e 🤖apk 📲
✔️ ca9dc09 #15 2023-11-30 13:55:55 ~8 min android 🤖apk 📲
✔️ c5ff645 #16 2023-11-30 14:06:13 ~9 min android-e2e 🤖apk 📲
✔️ c5ff645 #16 2023-11-30 14:07:50 ~10 min android 🤖apk 📲
✔️ c5ff645 #16 2023-11-30 14:09:41 ~12 min tests 📄log
✔️ c5ff645 #18 2023-11-30 14:10:55 ~13 min ios 📱ipa 📲
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ ceaa69c #18 2023-12-01 08:51:17 ~7 min android-e2e 🤖apk 📲
✔️ ceaa69c #18 2023-12-01 08:52:52 ~8 min android 🤖apk 📲
✔️ ceaa69c #20 2023-12-01 09:00:48 ~16 min ios 📱ipa 📲
✔️ 13b7d09 #19 2023-12-04 11:59:14 ~7 min android-e2e 🤖apk 📲
✔️ 13b7d09 #19 2023-12-04 12:00:27 ~8 min android 🤖apk 📲
✔️ 13b7d09 #21 2023-12-04 12:00:35 ~8 min ios 📱ipa 📲
✔️ 13b7d09 #20 2023-12-04 12:22:24 ~11 min tests 📄log

@mohsen-ghafouri mohsen-ghafouri marked this pull request as ready for review November 7, 2023 15:00
@mohsen-ghafouri mohsen-ghafouri force-pushed the fix/join-community-notification branch 3 times, most recently from 94c2cf9 to e7533b8 Compare November 8, 2023 07:10
src/status_im2/contexts/shell/activity_center/events.cljs Outdated Show resolved Hide resolved
src/status_im2/contexts/shell/activity_center/events.cljs Outdated Show resolved Hide resolved
src/status_im2/contexts/shell/activity_center/events.cljs Outdated Show resolved Hide resolved
@@ -21,7 +22,9 @@
(rf/merge
cofx
{:db (all-screens-params db go-to-view-id screen-params)
:dispatch-n [[:hide-bottom-sheet]]}
:dispatch-n [[:hide-bottom-sheet]
(when (= go-to-view-id shell.constants/community-screen)
Copy link
Contributor

Choose a reason for hiding this comment

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

I see this navigate-to event as a general utility, so we shouldn't couple it with specific screens.

We can probably dispatch this event when the community overview screen is loaded, more or less here

You will need to convert the component to a Reagent form-2 component. It's a common technique we use to do something effectful when some component is mounted.

(defn overview
  []
  (rf/dispatch :mark-as-read)
  (fn [id]
    ...))

@mohsen-ghafouri mohsen-ghafouri force-pushed the fix/join-community-notification branch 3 times, most recently from 38fbbcf to 0962255 Compare November 9, 2023 11:42
@mohsen-ghafouri
Copy link
Contributor Author

@ilmotta Thank you for all the informative feedbacks; it has been incredibly helpful. could you please check again.

Copy link
Contributor

@alwx alwx left a comment

Choose a reason for hiding this comment

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

Great work!

Copy link
Contributor

@ilmotta ilmotta left a comment

Choose a reason for hiding this comment

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

Code looks nice @mohsen-ghafouri!

@status-im-auto
Copy link
Member

71% of end-end tests have passed

Total executed tests: 45
Failed tests: 10
Expected to fail tests: 3
Passed tests: 32
IDs of failed tests: 702733,703194,702813,703133,702745,703503,702855,703202,703391,703629 
IDs of expected to fail tests: 702732,702731,702808 

Failed tests (10)

Click to expand
  • Rerun failed tests

  • Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_text_message_delete_push_disappear, id: 702733
    critical/chats/test_1_1_public_chats.py:459: in test_1_1_chat_text_message_delete_push_disappear
        if not self.chat_1.chat_message_input.is_element_displayed():
    ../views/base_element.py:212: in is_element_displayed
        return self.wait_for_visibility_of_element(sec, ignored_exceptions=ignored_exceptions)
    ../views/base_element.py:137: in wait_for_visibility_of_element
        .until(expected_conditions.visibility_of_element_located((self.by, self.locator)))
    /home/jenkins/.local/lib/python3.10/site-packages/selenium/webdriver/support/wait.py:86: in until
        value = method(self._driver)
    /home/jenkins/.local/lib/python3.10/site-packages/selenium/webdriver/support/expected_conditions.py:152: in _predicate
        return _element_if_visible(driver.find_element(*locator))
    /home/jenkins/.local/lib/python3.10/site-packages/appium/webdriver/webdriver.py:409: in find_element
        return self.execute(RemoteCommand.FIND_ELEMENT, {'using': by, 'value': value})['value']
    /home/jenkins/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:345: in execute
        self.error_handler.check_response(response)
    /home/jenkins/.local/lib/python3.10/site-packages/appium/webdriver/errorhandler.py:122: in check_response
        raise exception_class(msg=message, stacktrace=format_stacktrace(stacktrace))
     A session is either terminated or not started
    E   Stacktrace:
    E   NoSuchDriverError: A session is either terminated or not started
    E       at asyncHandler (/mnt/sauce/appium/appium-v2.0.0/packages/base-driver/lib/protocol/protocol.js:315:15)
    E       at /mnt/sauce/appium/appium-v2.0.0/packages/base-driver/lib/protocol/protocol.js:518:15
    E       at Layer.handle [as handle_request] (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/layer.js:95:5)
    E       at next (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/route.js:144:13)
    E       at Route.dispatch (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/route.js:114:3)
    E       at Layer.handle [as handle_request] (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/layer.js:95:5)
    E       at /mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:284:15
    E       at param (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:365:14)
    E       at param (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:376:14)
    E       at Function.process_params (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:421:3)
    E       at next (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:280:10)
    E       at logger (/mnt/sauce/appium/appium-v2.0.0/node_modules/morgan/index.js:144:5)
    E       at Layer.handle [as handle_request] (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/layer.js:95:5)
    E       at trim_prefix (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:328:13)
    E       at /mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:286:9
    E       at Function.process_params (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:346:12)
    E       at next (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:280:10)
    E       at /mnt/sauce/appium/appium-v2.0.0/node_modules/body-parser/lib/read.js:137:5
    E       at AsyncResource.runInAsyncScope (node:async_hooks:204:9)
    E       at invokeCallback (/mnt/sauce/appium/appium-v2.0.0/node_modules/raw-body/index.js:238:16)
    E       at done (/mnt/sauce/appium/appium-v2.0.0/node_modules/raw-body/index.js:227:7)
    E       at IncomingMessage.onEnd (/mnt/sauce/appium/appium-v2.0.0/node_modules/raw-body/index.js:287:7)
    E       at IncomingMessage.emit (node:events:513:28)
    E       at endReadableNT (node:internal/streams/readable:1359:12)
    E       at processTicksAndRejections (node:internal/process/task_queues:82:21)
    



    Device sessions

    2. test_1_1_chat_push_emoji, id: 702813

    critical/chats/test_1_1_public_chats.py:320: in test_1_1_chat_push_emoji
        [home.navigate_back_to_home_view() for home in self.homes]
    critical/chats/test_1_1_public_chats.py:320: in <listcomp>
        [home.navigate_back_to_home_view() for home in self.homes]
    ../views/base_view.py:396: in navigate_back_to_home_view
        while not self.chat_floating_screen.is_element_disappeared(1) \
    ../views/base_element.py:222: in is_element_disappeared
        return self.wait_for_invisibility_of_element(sec)
    ../views/base_element.py:146: in wait_for_invisibility_of_element
        .until(expected_conditions.invisibility_of_element_located((self.by, self.locator)))
    /home/jenkins/.local/lib/python3.10/site-packages/selenium/webdriver/support/wait.py:86: in until
        value = method(self._driver)
    /home/jenkins/.local/lib/python3.10/site-packages/selenium/webdriver/support/expected_conditions.py:319: in _predicate
        target = driver.find_element(*target)
    /home/jenkins/.local/lib/python3.10/site-packages/appium/webdriver/webdriver.py:409: in find_element
        return self.execute(RemoteCommand.FIND_ELEMENT, {'using': by, 'value': value})['value']
    /home/jenkins/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:345: in execute
        self.error_handler.check_response(response)
    /home/jenkins/.local/lib/python3.10/site-packages/appium/webdriver/errorhandler.py:122: in check_response
        raise exception_class(msg=message, stacktrace=format_stacktrace(stacktrace))
     A session is either terminated or not started
    E   Stacktrace:
    E   NoSuchDriverError: A session is either terminated or not started
    E       at asyncHandler (/mnt/sauce/appium/appium-v2.0.0/packages/base-driver/lib/protocol/protocol.js:315:15)
    E       at /mnt/sauce/appium/appium-v2.0.0/packages/base-driver/lib/protocol/protocol.js:518:15
    E       at Layer.handle [as handle_request] (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/layer.js:95:5)
    E       at next (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/route.js:144:13)
    E       at Route.dispatch (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/route.js:114:3)
    E       at Layer.handle [as handle_request] (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/layer.js:95:5)
    E       at /mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:284:15
    E       at param (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:365:14)
    E       at param (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:376:14)
    E       at Function.process_params (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:421:3)
    E       at next (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:280:10)
    E       at logger (/mnt/sauce/appium/appium-v2.0.0/node_modules/morgan/index.js:144:5)
    E       at Layer.handle [as handle_request] (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/layer.js:95:5)
    E       at trim_prefix (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:328:13)
    E       at /mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:286:9
    E       at Function.process_params (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:346:12)
    E       at next (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:280:10)
    E       at /mnt/sauce/appium/appium-v2.0.0/node_modules/body-parser/lib/read.js:137:5
    E       at AsyncResource.runInAsyncScope (node:async_hooks:204:9)
    E       at invokeCallback (/mnt/sauce/appium/appium-v2.0.0/node_modules/raw-body/index.js:238:16)
    E       at done (/mnt/sauce/appium/appium-v2.0.0/node_modules/raw-body/index.js:227:7)
    E       at IncomingMessage.onEnd (/mnt/sauce/appium/appium-v2.0.0/node_modules/raw-body/index.js:287:7)
    E       at IncomingMessage.emit (node:events:513:28)
    E       at endReadableNT (node:internal/streams/readable:1359:12)
    E       at processTicksAndRejections (node:internal/process/task_queues:82:21)
    



    Device sessions

    3. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745

    Device 2: Tap on found: SendMessageButton
    Device 1: Looking for a message by text: hello

    critical/chats/test_1_1_public_chats.py:286: in test_1_1_chat_non_latin_messages_stack_update_profile_photo
        if not self.chat_1.chat_element_by_text(message).is_element_displayed(10):
    ../views/base_element.py:212: in is_element_displayed
        return self.wait_for_visibility_of_element(sec, ignored_exceptions=ignored_exceptions)
    ../views/base_element.py:137: in wait_for_visibility_of_element
        .until(expected_conditions.visibility_of_element_located((self.by, self.locator)))
    /home/jenkins/.local/lib/python3.10/site-packages/selenium/webdriver/support/wait.py:86: in until
        value = method(self._driver)
    /home/jenkins/.local/lib/python3.10/site-packages/selenium/webdriver/support/expected_conditions.py:152: in _predicate
        return _element_if_visible(driver.find_element(*locator))
    /home/jenkins/.local/lib/python3.10/site-packages/appium/webdriver/webdriver.py:409: in find_element
        return self.execute(RemoteCommand.FIND_ELEMENT, {'using': by, 'value': value})['value']
    /home/jenkins/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:345: in execute
        self.error_handler.check_response(response)
    /home/jenkins/.local/lib/python3.10/site-packages/appium/webdriver/errorhandler.py:122: in check_response
        raise exception_class(msg=message, stacktrace=format_stacktrace(stacktrace))
     A session is either terminated or not started
    E   Stacktrace:
    E   NoSuchDriverError: A session is either terminated or not started
    E       at asyncHandler (/mnt/sauce/appium/appium-v2.0.0/packages/base-driver/lib/protocol/protocol.js:315:15)
    E       at /mnt/sauce/appium/appium-v2.0.0/packages/base-driver/lib/protocol/protocol.js:518:15
    E       at Layer.handle [as handle_request] (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/layer.js:95:5)
    E       at next (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/route.js:144:13)
    E       at Route.dispatch (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/route.js:114:3)
    E       at Layer.handle [as handle_request] (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/layer.js:95:5)
    E       at /mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:284:15
    E       at param (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:365:14)
    E       at param (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:376:14)
    E       at Function.process_params (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:421:3)
    E       at next (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:280:10)
    E       at logger (/mnt/sauce/appium/appium-v2.0.0/node_modules/morgan/index.js:144:5)
    E       at Layer.handle [as handle_request] (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/layer.js:95:5)
    E       at trim_prefix (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:328:13)
    E       at /mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:286:9
    E       at Function.process_params (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:346:12)
    E       at next (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:280:10)
    E       at /mnt/sauce/appium/appium-v2.0.0/node_modules/body-parser/lib/read.js:137:5
    E       at AsyncResource.runInAsyncScope (node:async_hooks:204:9)
    E       at invokeCallback (/mnt/sauce/appium/appium-v2.0.0/node_modules/raw-body/index.js:238:16)
    E       at done (/mnt/sauce/appium/appium-v2.0.0/node_modules/raw-body/index.js:227:7)
    E       at IncomingMessage.onEnd (/mnt/sauce/appium/appium-v2.0.0/node_modules/raw-body/index.js:287:7)
    E       at IncomingMessage.emit (node:events:513:28)
    E       at endReadableNT (node:internal/streams/readable:1359:12)
    E       at processTicksAndRejections (node:internal/process/task_queues:82:21)
    



    Device sessions

    4. test_1_1_chat_edit_message, id: 702855

    critical/chats/test_1_1_public_chats.py:370: in test_1_1_chat_edit_message
        [home.navigate_back_to_home_view() for home in self.homes]
    critical/chats/test_1_1_public_chats.py:370: in <listcomp>
        [home.navigate_back_to_home_view() for home in self.homes]
    ../views/base_view.py:396: in navigate_back_to_home_view
        while not self.chat_floating_screen.is_element_disappeared(1) \
    ../views/base_element.py:222: in is_element_disappeared
        return self.wait_for_invisibility_of_element(sec)
    ../views/base_element.py:146: in wait_for_invisibility_of_element
        .until(expected_conditions.invisibility_of_element_located((self.by, self.locator)))
    /home/jenkins/.local/lib/python3.10/site-packages/selenium/webdriver/support/wait.py:86: in until
        value = method(self._driver)
    /home/jenkins/.local/lib/python3.10/site-packages/selenium/webdriver/support/expected_conditions.py:319: in _predicate
        target = driver.find_element(*target)
    /home/jenkins/.local/lib/python3.10/site-packages/appium/webdriver/webdriver.py:409: in find_element
        return self.execute(RemoteCommand.FIND_ELEMENT, {'using': by, 'value': value})['value']
    /home/jenkins/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:345: in execute
        self.error_handler.check_response(response)
    /home/jenkins/.local/lib/python3.10/site-packages/appium/webdriver/errorhandler.py:122: in check_response
        raise exception_class(msg=message, stacktrace=format_stacktrace(stacktrace))
     A session is either terminated or not started
    E   Stacktrace:
    E   NoSuchDriverError: A session is either terminated or not started
    E       at asyncHandler (/mnt/sauce/appium/appium-v2.0.0/packages/base-driver/lib/protocol/protocol.js:315:15)
    E       at /mnt/sauce/appium/appium-v2.0.0/packages/base-driver/lib/protocol/protocol.js:518:15
    E       at Layer.handle [as handle_request] (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/layer.js:95:5)
    E       at next (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/route.js:144:13)
    E       at Route.dispatch (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/route.js:114:3)
    E       at Layer.handle [as handle_request] (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/layer.js:95:5)
    E       at /mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:284:15
    E       at param (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:365:14)
    E       at param (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:376:14)
    E       at Function.process_params (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:421:3)
    E       at next (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:280:10)
    E       at logger (/mnt/sauce/appium/appium-v2.0.0/node_modules/morgan/index.js:144:5)
    E       at Layer.handle [as handle_request] (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/layer.js:95:5)
    E       at trim_prefix (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:328:13)
    E       at /mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:286:9
    E       at Function.process_params (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:346:12)
    E       at next (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:280:10)
    E       at /mnt/sauce/appium/appium-v2.0.0/node_modules/body-parser/lib/read.js:137:5
    E       at AsyncResource.runInAsyncScope (node:async_hooks:204:9)
    E       at invokeCallback (/mnt/sauce/appium/appium-v2.0.0/node_modules/raw-body/index.js:238:16)
    E       at done (/mnt/sauce/appium/appium-v2.0.0/node_modules/raw-body/index.js:227:7)
    E       at IncomingMessage.onEnd (/mnt/sauce/appium/appium-v2.0.0/node_modules/raw-body/index.js:287:7)
    E       at IncomingMessage.emit (node:events:513:28)
    E       at endReadableNT (node:internal/streams/readable:1359:12)
    E       at processTicksAndRejections (node:internal/process/task_queues:82:21)
    



    Device sessions

    5. test_1_1_chat_send_image_save_and_share, id: 703391

    critical/chats/test_1_1_public_chats.py:398: in test_1_1_chat_send_image_save_and_share
        if not self.chat_1.chat_message_input.is_element_displayed():
    ../views/base_element.py:212: in is_element_displayed
        return self.wait_for_visibility_of_element(sec, ignored_exceptions=ignored_exceptions)
    ../views/base_element.py:137: in wait_for_visibility_of_element
        .until(expected_conditions.visibility_of_element_located((self.by, self.locator)))
    /home/jenkins/.local/lib/python3.10/site-packages/selenium/webdriver/support/wait.py:86: in until
        value = method(self._driver)
    /home/jenkins/.local/lib/python3.10/site-packages/selenium/webdriver/support/expected_conditions.py:152: in _predicate
        return _element_if_visible(driver.find_element(*locator))
    /home/jenkins/.local/lib/python3.10/site-packages/appium/webdriver/webdriver.py:409: in find_element
        return self.execute(RemoteCommand.FIND_ELEMENT, {'using': by, 'value': value})['value']
    /home/jenkins/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:345: in execute
        self.error_handler.check_response(response)
    /home/jenkins/.local/lib/python3.10/site-packages/appium/webdriver/errorhandler.py:122: in check_response
        raise exception_class(msg=message, stacktrace=format_stacktrace(stacktrace))
     A session is either terminated or not started
    E   Stacktrace:
    E   NoSuchDriverError: A session is either terminated or not started
    E       at asyncHandler (/mnt/sauce/appium/appium-v2.0.0/packages/base-driver/lib/protocol/protocol.js:315:15)
    E       at /mnt/sauce/appium/appium-v2.0.0/packages/base-driver/lib/protocol/protocol.js:518:15
    E       at Layer.handle [as handle_request] (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/layer.js:95:5)
    E       at next (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/route.js:144:13)
    E       at Route.dispatch (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/route.js:114:3)
    E       at Layer.handle [as handle_request] (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/layer.js:95:5)
    E       at /mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:284:15
    E       at param (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:365:14)
    E       at param (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:376:14)
    E       at Function.process_params (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:421:3)
    E       at next (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:280:10)
    E       at logger (/mnt/sauce/appium/appium-v2.0.0/node_modules/morgan/index.js:144:5)
    E       at Layer.handle [as handle_request] (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/layer.js:95:5)
    E       at trim_prefix (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:328:13)
    E       at /mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:286:9
    E       at Function.process_params (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:346:12)
    E       at next (/mnt/sauce/appium/appium-v2.0.0/node_modules/express/lib/router/index.js:280:10)
    E       at /mnt/sauce/appium/appium-v2.0.0/node_modules/body-parser/lib/read.js:137:5
    E       at AsyncResource.runInAsyncScope (node:async_hooks:204:9)
    E       at invokeCallback (/mnt/sauce/appium/appium-v2.0.0/node_modules/raw-body/index.js:238:16)
    E       at done (/mnt/sauce/appium/appium-v2.0.0/node_modules/raw-body/index.js:227:7)
    E       at IncomingMessage.onEnd (/mnt/sauce/appium/appium-v2.0.0/node_modules/raw-body/index.js:287:7)
    E       at IncomingMessage.emit (node:events:513:28)
    E       at endReadableNT (node:internal/streams/readable:1359:12)
    E       at processTicksAndRejections (node:internal/process/task_queues:82:21)
    



    Device sessions

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_reactions, id: 703202

    Device 3: Adding one more 'thumbs-up' reaction or removing an added one
    Device 3: Find Button by accessibility id: emoji-reaction-2

    critical/chats/test_group_chat.py:112: in test_group_chat_reactions
        self.chats[2].add_remove_same_reaction(message=message, emoji="thumbs-up")
    ../views/chat_view.py:1084: in add_remove_same_reaction
        element.click()
    ../views/base_element.py:90: in click
        self.find_element().click()
    ../views/base_element.py:79: in find_element
        raise NoSuchElementException(
     Device 3: Button by accessibility id: `emoji-reaction-2` 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_join_when_node_owner_offline, id: 703629

    Device 2: Tap on found: Button
    Device 2: Looking for community: 'open community'

    critical/chats/test_public_chat_browsing.py:1113: in test_community_join_when_node_owner_offline
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Joined status is not displayed
    E    open community is not listed inside Joined communities tab
    



    Device sessions

    Class TestCommunityOneDeviceMerged:

    1. test_restore_multiaccount_with_waku_backup_remove_switch, id: 703133

    # STEP: Check that removed user is not shown in the list anymore
    Device 1: Find Button by accessibility id: show-profiles

    critical/chats/test_public_chat_browsing.py:270: in test_restore_multiaccount_with_waku_backup_remove_switch
        self.sign_in.show_profiles_button.click()
    ../views/base_element.py:90: in click
        self.find_element().click()
    ../views/base_element.py:79: in find_element
        raise NoSuchElementException(
     Device 1: Button by accessibility id: `show-profiles` 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

    2. test_community_discovery, id: 703503

    Device 1: Find Button by accessibility id: communities-home-discover-card
    Device 1: Tap on found: Button

    critical/chats/test_public_chat_browsing.py:40: in test_community_discovery
        self.home.community_card_item.wait_for_visibility_of_element(30)
    ../views/base_element.py:139: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 1: BaseElement by accessibility id:`community-card-item` is not found on the screen after wait_for_visibility_of_element
    



    Device sessions

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_several_images_send_reply, id: 703194

    Device 2: Tap on found: SendMessageButton
    Device 1: Looking for a message by text: reply to gallery

    critical/chats/test_public_chat_browsing.py:427: in test_community_several_images_send_reply
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Reply message was not received by the sender
    



    Device sessions

    Expected to fail tests (3)

    Click to expand

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_pin_messages, id: 702731

    Test is not run, e2e blocker  
    

    [[reason: [NOTRUN] Pin feature is in development]]

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_pin_messages, id: 702732

    Test is not run, e2e blocker  
    

    [[reason: [NOTRUN] Pin feature is in development]]

    2. test_group_chat_offline_pn, id: 702808

    Device 3: Looking for a message by text: message from old member
    Device 3: Looking for a message by text: message from new member

    critical/chats/test_group_chat.py:323: in test_group_chat_offline_pn
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Messages PN was not fetched from offline 
    

    [[Data delivery issue]]

    Device sessions

    Passed tests (32)

    Click to expand

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_emoji_send_reply_and_open_link, id: 702782
    Device sessions

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

    1. test_add_contact_field_validation, id: 702777
    Device sessions

    2. test_activity_center_contact_request_accept_swipe_mark_all_as_read, id: 702851
    Device sessions

    3. test_activity_center_contact_request_decline, id: 702850
    Device sessions

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_mute_chat, id: 703495
    Device sessions

    2. test_group_chat_send_image_save_and_share, id: 703297
    Device sessions

    3. test_group_chat_join_send_text_messages_push, id: 702807
    Device sessions

    Class TestActivityMultipleDevicePRTwo:

    1. test_activity_center_mentions, id: 702957
    Device sessions

    2. test_activity_center_admin_notification_accept_swipe, id: 702958
    Device sessions

    Class TestCommunityMultipleDeviceMergedTwo:

    1. test_community_markdown_support, id: 702809
    Device sessions

    2. test_community_hashtag_links_to_community_channels, id: 702948
    Device sessions

    3. test_community_mentions_push_notification, id: 702786
    Device sessions

    4. test_community_leave, id: 702845
    Device sessions

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

    1. test_navigation_jump_to, id: 702936
    Device sessions

    2. test_activity_center_reply_read_unread_delete_filter_swipe, id: 702947
    Device sessions

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_one_image_send_reply, id: 702859
    Device sessions

    2. test_community_emoji_send_copy_paste_reply, id: 702840
    Device sessions

    3. test_community_mark_all_messages_as_read, id: 703086
    Device sessions

    4. test_community_contact_block_unblock_offline, id: 702894
    Device sessions

    5. test_community_message_delete, id: 702839
    Device sessions

    6. test_community_message_send_check_timestamps_sender_username, id: 702838
    Device sessions

    7. test_community_links_with_previews_github_youtube_twitter_gif_send_enable, id: 702844
    Device sessions

    8. test_community_message_edit, id: 702843
    Device sessions

    9. test_community_unread_messages_badge, id: 702841
    Device sessions

    @pavloburykh pavloburykh self-assigned this Nov 10, 2023
    @pavloburykh
    Copy link
    Contributor

    @mohsen-ghafouri thanx for the PR. Please take a look at the issue

    ISSUE 1 AC notification should not appear is request has been accepted while user is still on the same community screen

    Steps:

    1. User A (admin) invites User B to community
    2. User B sends community request and remains on community home screen
    3. User A accepts the request (manually or automatically depending on community type)
    4. Wait until community status is changed to joined for User B and joined toast appears
    5. Check if there is joined notification for User B in AC

    Actual result: notification remains unread in AC

    telegram-cloud-document-2-5364227025273895859.mp4

    Expected result: notification should be read

    Figma

    Communities for Mobile – Figma 2023-11-10 18-09-37

    @mohsen-ghafouri
    Copy link
    Contributor Author

    @pavloburykh yeah i was checking and i couldn't find anything in my code related to login part and i thought so . okay shall i wait for a fix?

    @pavloburykh
    Copy link
    Contributor

    okay shall i wait for a fix?

    Yes. You can follow the discussion in here https://discord.com/channels/1103692771585433630/1103692773363810317/1173923198748868688 @mohsen-ghafouri

    @mohsen-ghafouri mohsen-ghafouri changed the base branch from develop to release/1.26.x November 14, 2023 11:20
    @mohsen-ghafouri
    Copy link
    Contributor Author

    @pavloburykh could you please recheck

    @pavloburykh
    Copy link
    Contributor

    @pavloburykh could you please recheck

    it turned out that release go branch already contains those 2 blockers. So we will wait until they are fixed.

    @pavloburykh
    Copy link
    Contributor

    hey @mohsen-ghafouri! We decided to exclude this PR from release. It means that it will be remained blocked until #17899 and #17898 are fixed in go develop. After that we will get back to this PR and merge it into develop. Thank you and sorry for confusion.

    @pavloburykh
    Copy link
    Contributor

    pavloburykh commented Nov 30, 2023

    Hey @mohsen-ghafouri! Time to come back to this PR)) Could you please base it again against develop branch (both go and mobile)? Cause currently it is based on release branches. After that I will re-run e2e and hopefully we will be able to merge it.

    @mohsen-ghafouri mohsen-ghafouri changed the base branch from release/1.26.x to develop November 30, 2023 13:25
    @mohsen-ghafouri mohsen-ghafouri force-pushed the fix/join-community-notification branch 3 times, most recently from ca9dc09 to c5ff645 Compare November 30, 2023 13:56
    @mohsen-ghafouri
    Copy link
    Contributor Author

    Hey @pavloburykh it's ready

    @mohsen-ghafouri mohsen-ghafouri force-pushed the fix/join-community-notification branch 2 times, most recently from 09ac2ce to ceaa69c Compare December 1, 2023 08:43
    @churik churik removed the blocked label Dec 1, 2023
    @status-im-auto
    Copy link
    Member

    88% of end-end tests have passed

    Total executed tests: 48
    Failed tests: 2
    Expected to fail tests: 4
    Passed tests: 42
    
    IDs of failed tests: 703086,703133 
    
    IDs of expected to fail tests: 702731,702808,702732,703503 
    

    Failed tests (2)

    Click to expand
  • Rerun failed tests

  • Class TestCommunityOneDeviceMerged:

    1. test_restore_multiaccount_with_waku_backup_remove_switch, id: 703133

    Device 1: Find `Button` by `accessibility id`: `show-profiles`
    Device 1: Tap on found: Button

    critical/chats/test_public_chat_browsing.py:273: in test_restore_multiaccount_with_waku_backup_remove_switch
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Incorrect contacts number restored: 3 instead of 2
    



    Device sessions

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_mark_all_messages_as_read, id: 703086

    Device 1: Tap on found: Button
    Device 1: Click until Text by accessibility id: community-description-text will be presented

    critical/chats/test_public_chat_browsing.py:769: in test_community_mark_all_messages_as_read
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Unread messages badge is shown in community element while there are no unread messages
    E    New messages badge is shown in community channel element while there are no unread messages
    



    Device sessions

    Expected to fail tests (4)

    Click to expand

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_offline_pn, id: 702808

    Device 3: Looking for a message by text: message from old member
    Device 3: Looking for a message by text: message from new member

    critical/chats/test_group_chat.py:323: in test_group_chat_offline_pn
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Messages PN was not fetched from offline 
    

    [[Data delivery issue]]

    Device sessions

    2. test_group_chat_pin_messages, id: 702732

    Test is not run, e2e blocker  
    

    [[reason: [NOTRUN] Pin feature is in development]]

    Class TestCommunityOneDeviceMerged:

    1. test_community_discovery, id: 703503

    Test is not run, e2e blocker  
    

    [[reason: [NOTRUN] Curated communities not loading, https://github.com//issues/17852]]

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_pin_messages, id: 702731

    Test is not run, e2e blocker  
    

    [[reason: [NOTRUN] Pin feature is in development]]

    Passed tests (42)

    Click to expand

    Class TestDeepLinksOneDevice:

    1. test_links_deep_links, id: 702775
    Device sessions

    2. test_links_open_universal_links_from_chat, id: 704613
    Device sessions

    3. test_links_open_universal_links_from_other_apps, id: 704614
    Device sessions

    Class TestActivityCenterContactRequestMultipleDevicePR:

    1. test_activity_center_contact_request_accept_swipe_mark_all_as_read, id: 702851
    Device sessions

    2. test_activity_center_contact_request_decline, id: 702850
    Device sessions

    3. test_add_contact_field_validation, id: 702777
    Device sessions

    Class TestActivityMultipleDevicePRTwo:

    1. test_activity_center_admin_notification_accept_swipe, id: 702958
    Device sessions

    2. test_activity_center_mentions, id: 702957
    Device sessions

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_reactions, id: 703202
    Device sessions

    2. test_group_chat_join_send_text_messages_push, id: 702807
    Device sessions

    3. test_group_chat_send_image_save_and_share, id: 703297
    Device sessions

    4. test_group_chat_mute_chat, id: 703495
    Device sessions

    Class TestActivityMultipleDevicePR:

    1. test_activity_center_reply_read_unread_delete_filter_swipe, id: 702947
    Device sessions

    2. test_navigation_jump_to, id: 702936
    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUiTwo:

    1. test_1_1_chat_mute_chat, id: 703496
    Device sessions

    2. test_1_1_chat_is_shown_message_sent_delivered_from_offline, id: 702783
    Device sessions

    3. test_1_1_chat_delete_via_long_press_relogin, id: 702784
    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_edit_message, id: 702855
    Device sessions

    2. test_1_1_chat_message_reaction, id: 702730
    Device sessions

    3. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745
    Device sessions

    4. test_1_1_chat_text_message_delete_push_disappear, id: 702733
    Device sessions

    5. test_1_1_chat_push_emoji, id: 702813
    Device sessions

    6. test_1_1_chat_emoji_send_reply_and_open_link, id: 702782
    Device sessions

    7. test_1_1_chat_send_image_save_and_share, id: 703391
    Device sessions

    Class TestCommunityMultipleDeviceMergedTwo:

    1. test_community_leave, id: 702845
    Device sessions

    2. test_community_mentions_push_notification, id: 702786
    Device sessions

    3. test_community_markdown_support, id: 702809
    Device sessions

    4. test_community_hashtag_links_to_community_channels, id: 702948
    Device sessions

    5. test_community_join_when_node_owner_offline, id: 703629
    Device sessions

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_emoji_send_copy_paste_reply, id: 702840
    Device sessions

    2. test_community_contact_block_unblock_offline, id: 702894
    Device sessions

    3. test_community_links_with_previews_github_youtube_twitter_gif_send_enable, id: 702844
    Device sessions

    4. test_community_unread_messages_badge, id: 702841
    Device sessions

    5. test_community_message_delete, id: 702839
    Device sessions

    6. test_community_message_send_check_timestamps_sender_username, id: 702838
    Device sessions

    7. test_community_one_image_send_reply, id: 702859
    Device sessions

    8. test_community_message_edit, id: 702843
    Device sessions

    9. test_community_several_images_send_reply, id: 703194
    Device sessions

    Class TestCommunityOneDeviceMerged:

    1. test_community_copy_and_paste_message_in_chat_input, id: 702742
    Device sessions

    2. test_community_navigate_to_channel_when_relaunch, id: 702846
    Device sessions

    3. test_community_undo_delete_message, id: 702869
    Device sessions

    4. test_community_mute_community_and_channel, id: 703382
    Device sessions

    @pavloburykh
    Copy link
    Contributor

    @mohsen-ghafouri thank you! PR is ready for merge.

    @mohsen-ghafouri mohsen-ghafouri merged commit a7178a4 into develop Dec 4, 2023
    6 checks passed
    @mohsen-ghafouri mohsen-ghafouri deleted the fix/join-community-notification branch December 4, 2023 12:24
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Projects
    Archived in project
    Archived in project
    Development

    Successfully merging this pull request may close these issues.

    'Join Community' notification is not getting dismissed
    6 participants