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

Mute community #15161

Merged
merged 12 commits into from
Jul 19, 2023
Merged

Mute community #15161

merged 12 commits into from
Jul 19, 2023

Conversation

jo-mut
Copy link
Contributor

@jo-mut jo-mut commented Feb 22, 2023

fixes #14817

Summary

This PR add implements mute community and refactors the scroll page component to use flat-list instead of scroll-view.

Screen.Recording.2023-02-24.at.01.12.41.mov

@jo-mut jo-mut self-assigned this Feb 22, 2023
@status-im-auto
Copy link
Member

status-im-auto commented Feb 22, 2023

Jenkins Builds

Click to see older builds (412)
Commit #️⃣ Finished (UTC) Duration Platform Result
fe6f674 #1 2023-02-22 10:10:28 ~2 min tests 📄log
✔️ fe6f674 #1 2023-02-22 10:15:30 ~7 min android-e2e 🤖apk 📲
✔️ fe6f674 #1 2023-02-22 10:15:32 ~7 min android 🤖apk 📲
✔️ fe6f674 #1 2023-02-22 10:15:38 ~8 min ios 📱ipa 📲
✔️ c170d8d #3 2023-02-23 21:40:20 ~4 min tests 📄log
✔️ c170d8d #3 2023-02-23 21:43:50 ~8 min android-e2e 🤖apk 📲
✔️ c170d8d #3 2023-02-23 21:44:07 ~8 min android 🤖apk 📲
✔️ c170d8d #3 2023-02-23 21:45:18 ~9 min ios 📱ipa 📲
04e5152 #4 2023-02-24 10:17:23 ~3 min tests 📄log
04e5152 #4 2023-02-24 10:18:27 ~4 min ios 📄log
✔️ 04e5152 #4 2023-02-24 10:22:07 ~7 min android-e2e 🤖apk 📲
✔️ 04e5152 #4 2023-02-24 10:22:42 ~8 min android 🤖apk 📲
0f6be5c #5 2023-02-24 11:03:08 ~2 min tests 📄log
7ab4605 #6 2023-02-24 11:09:35 ~4 min ios 📄log
✔️ 7ab4605 #6 2023-02-24 11:10:25 ~5 min tests 📄log
✔️ 7ab4605 #6 2023-02-24 11:13:23 ~8 min android 🤖apk 📲
✔️ 7ab4605 #6 2023-02-24 11:13:29 ~8 min android-e2e 🤖apk 📲
f92c08d #7 2023-02-24 12:17:25 ~2 min tests 📄log
✔️ f92c08d #7 2023-02-24 12:21:32 ~6 min ios 📱ipa 📲
✔️ f92c08d #7 2023-02-24 12:22:34 ~7 min android 🤖apk 📲
✔️ f92c08d #7 2023-02-24 12:23:27 ~8 min android-e2e 🤖apk 📲
✔️ 3ccccc8 #8 2023-02-27 09:24:59 ~5 min tests 📄log
✔️ 3ccccc8 #8 2023-02-27 09:27:34 ~8 min android-e2e 🤖apk 📲
✔️ 3ccccc8 #8 2023-02-27 09:29:21 ~9 min android 🤖apk 📲
✔️ 3ccccc8 #8 2023-02-27 09:29:51 ~10 min ios 📱ipa 📲
✔️ 688a3a7 #9 2023-02-27 11:48:56 ~4 min tests 📄log
✔️ 688a3a7 #9 2023-02-27 11:51:56 ~7 min android-e2e 🤖apk 📲
✔️ 688a3a7 #9 2023-02-27 11:53:07 ~8 min android 🤖apk 📲
✔️ 688a3a7 #9 2023-02-27 12:01:17 ~16 min ios 📱ipa 📲
✔️ c5ebb79 #10 2023-02-28 10:01:16 ~4 min tests 📄log
✔️ c5ebb79 #10 2023-02-28 10:04:24 ~7 min ios 📱ipa 📲
✔️ c5ebb79 #10 2023-02-28 10:05:07 ~8 min android-e2e 🤖apk 📲
✔️ c5ebb79 #10 2023-02-28 10:05:15 ~8 min android 🤖apk 📲
✔️ 092a308 #11 2023-03-02 08:15:19 ~5 min tests 📄log
✔️ 092a308 #11 2023-03-02 08:18:01 ~7 min android-e2e 🤖apk 📲
✔️ 092a308 #11 2023-03-02 08:19:20 ~9 min android 🤖apk 📲
✔️ 092a308 #11 2023-03-02 08:37:42 ~27 min ios 📱ipa 📲
✔️ 0121a63 #12 2023-03-02 12:00:54 ~10 min tests 📄log
✔️ 0121a63 #12 2023-03-02 12:04:19 ~13 min android-e2e 🤖apk 📲
✔️ 0121a63 #12 2023-03-02 12:04:36 ~14 min android 🤖apk 📲
✔️ 0121a63 #12 2023-03-02 12:20:57 ~30 min ios 📱ipa 📲
✔️ b636bd9 #13 2023-03-02 22:54:01 ~6 min tests 📄log
✔️ b636bd9 #13 2023-03-02 22:55:52 ~8 min android-e2e 🤖apk 📲
✔️ b636bd9 #13 2023-03-02 22:56:18 ~8 min android 🤖apk 📲
b636bd9 #13 2023-03-02 23:00:06 ~12 min ios 📄log
✔️ e6159e6 #14 2023-03-05 22:05:49 ~4 min tests 📄log
✔️ e6159e6 #14 2023-03-05 22:08:53 ~7 min ios 📱ipa 📲
✔️ e6159e6 #14 2023-03-05 22:10:07 ~8 min android-e2e 🤖apk 📲
✔️ e6159e6 #14 2023-03-05 22:10:32 ~8 min android 🤖apk 📲
e6159e6 #16 2023-03-08 14:02:40 ~14 sec android-e2e 📄log
e6159e6 #16 2023-03-08 14:02:41 ~14 sec android 📄log
e6159e6 #16 2023-03-08 14:02:42 ~11 sec ios 📄log
e6159e6 #16 2023-03-08 14:02:55 ~24 sec tests 📄log
✔️ 1d2c19c #15 2023-03-08 13:32:28 ~4 min tests 📄log
✔️ 1d2c19c #15 2023-03-08 13:35:42 ~7 min ios 📱ipa 📲
✔️ 1d2c19c #15 2023-03-08 13:36:02 ~7 min android-e2e 🤖apk 📲
✔️ 1d2c19c #15 2023-03-08 13:36:09 ~7 min android 🤖apk 📲
✔️ f48439a #17 2023-03-08 20:28:38 ~4 min tests 📄log
✔️ f48439a #17 2023-03-08 20:32:02 ~7 min android-e2e 🤖apk 📲
✔️ f48439a #17 2023-03-08 20:32:30 ~7 min ios 📱ipa 📲
✔️ f48439a #17 2023-03-08 20:33:30 ~8 min android 🤖apk 📲
✔️ 22a505e #18 2023-03-09 11:44:03 ~4 min tests 📄log
✔️ 22a505e #18 2023-03-09 11:47:13 ~7 min ios 📱ipa 📲
✔️ 22a505e #18 2023-03-09 11:48:29 ~8 min android-e2e 🤖apk 📲
✔️ 22a505e #18 2023-03-09 11:48:47 ~8 min android 🤖apk 📲
b9fadf0 #19 2023-03-09 12:32:41 ~2 min tests 📄log
✔️ 0468d7e #20 2023-03-09 12:38:21 ~4 min tests 📄log
✔️ 0468d7e #20 2023-03-09 12:41:40 ~7 min ios 📱ipa 📲
✔️ 0468d7e #20 2023-03-09 12:42:39 ~8 min android-e2e 🤖apk 📲
✔️ 0468d7e #20 2023-03-09 12:42:59 ~8 min android 🤖apk 📲
3eda8b9 #21 2023-03-09 13:20:47 ~2 min tests 📄log
✔️ 3eda8b9 #21 2023-03-09 13:25:01 ~6 min ios 📱ipa 📲
✔️ 3eda8b9 #21 2023-03-09 13:25:44 ~7 min android-e2e 🤖apk 📲
✔️ 3eda8b9 #21 2023-03-09 13:26:06 ~8 min android 🤖apk 📲
✔️ a6f3e7c #22 2023-03-09 18:52:49 ~4 min tests 📄log
✔️ a6f3e7c #22 2023-03-09 18:56:02 ~7 min ios 📱ipa 📲
✔️ a6f3e7c #22 2023-03-09 18:57:04 ~8 min android-e2e 🤖apk 📲
✔️ a6f3e7c #22 2023-03-09 18:57:24 ~8 min android 🤖apk 📲
aaf9515 #23 2023-03-14 12:52:57 ~12 sec tests 📄log
aaf9515 #23 2023-03-14 12:53:00 ~17 sec android-e2e 📄log
aaf9515 #23 2023-03-14 12:53:12 ~26 sec android 📄log
aaf9515 #23 2023-03-14 12:53:23 ~37 sec ios 📄log
✔️ 36502ff #24 2023-03-14 13:02:33 ~6 min tests 📄log
✔️ 36502ff #24 2023-03-14 13:02:53 ~6 min ios 📱ipa 📲
✔️ 36502ff #24 2023-03-14 13:03:57 ~7 min android-e2e 🤖apk 📲
✔️ 36502ff #24 2023-03-14 13:04:19 ~7 min android 🤖apk 📲
✔️ 9810214 #26 2023-03-27 13:49:48 ~6 min tests 📄log
✔️ 9810214 #26 2023-03-27 13:50:31 ~7 min ios 📱ipa 📲
✔️ 9810214 #26 2023-03-27 13:51:40 ~8 min android-e2e 🤖apk 📲
✔️ 9810214 #26 2023-03-27 13:53:03 ~9 min android 🤖apk 📲
✔️ c0a77f6 #27 2023-03-28 11:44:29 ~7 min tests 📄log
✔️ c0a77f6 #27 2023-03-28 11:44:51 ~8 min android 🤖apk 📲
✔️ c0a77f6 #27 2023-03-28 11:46:47 ~10 min ios 📱ipa 📲
✔️ c0a77f6 #27 2023-03-28 11:47:01 ~10 min android-e2e 🤖apk 📲
✔️ 9dd433f #28 2023-04-05 20:25:33 ~6 min ios 📱ipa 📲
✔️ 9dd433f #28 2023-04-05 20:25:55 ~7 min tests 📄log
✔️ 9dd433f #28 2023-04-05 20:46:49 ~28 min android-e2e 🤖apk 📲
✔️ 1c6b08e #29 2023-04-19 00:37:15 ~6 min tests 📄log
✔️ 1c6b08e #29 2023-04-19 00:37:22 ~6 min android 🤖apk 📲
✔️ 1c6b08e #29 2023-04-19 00:37:23 ~6 min android-e2e 🤖apk 📲
✔️ 1c6b08e #29 2023-04-19 00:38:00 ~7 min ios 📱ipa 📲
a4c71ff #30 2023-04-19 13:47:58 ~5 min tests 📄log
✔️ a4c71ff #30 2023-04-19 13:49:37 ~7 min android-e2e 🤖apk 📲
✔️ a4c71ff #30 2023-04-19 13:49:42 ~7 min android 🤖apk 📲
✔️ a4c71ff #30 2023-04-19 13:56:40 ~14 min ios 📱ipa 📲
✔️ f560023 #31 2023-04-24 15:41:40 ~5 min tests 📄log
✔️ f560023 #31 2023-04-24 15:42:08 ~6 min android 🤖apk 📲
✔️ f560023 #31 2023-04-24 15:42:08 ~6 min android-e2e 🤖apk 📲
✔️ f560023 #31 2023-04-24 15:42:08 ~6 min ios 📱ipa 📲
✔️ 6714589 #32 2023-04-24 19:05:45 ~5 min android-e2e 🤖apk 📲
✔️ 6714589 #32 2023-04-24 19:06:43 ~6 min android 🤖apk 📲
✔️ 6714589 #32 2023-04-24 19:06:59 ~6 min tests 📄log
✔️ 6714589 #32 2023-04-24 19:07:53 ~7 min ios 📱ipa 📲
✔️ ced3cc4 #33 2023-04-26 17:55:53 ~7 min android-e2e 🤖apk 📲
✔️ ced3cc4 #33 2023-04-26 17:56:08 ~7 min android 🤖apk 📲
✔️ ced3cc4 #33 2023-04-26 17:57:20 ~9 min tests 📄log
✔️ ced3cc4 #33 2023-04-26 18:00:13 ~11 min ios 📱ipa 📲
✔️ 7607d02 #34 2023-05-01 20:34:54 ~5 min android 🤖apk 📲
✔️ 7607d02 #34 2023-05-01 20:35:20 ~5 min android-e2e 🤖apk 📲
✔️ 7607d02 #34 2023-05-01 20:36:05 ~6 min ios 📱ipa 📲
✔️ 7607d02 #34 2023-05-01 20:37:22 ~7 min tests 📄log
✔️ 768485c #36 2023-05-02 16:41:28 ~5 min tests 📄log
✔️ 768485c #36 2023-05-02 16:42:02 ~6 min ios 📱ipa 📲
✔️ 768485c #36 2023-05-02 16:42:13 ~6 min android-e2e 🤖apk 📲
✔️ 768485c #36 2023-05-02 16:42:14 ~6 min android 🤖apk 📲
✔️ 7a80351 #37 2023-05-15 09:31:21 ~7 min ios 📱ipa 📲
✔️ 7a80351 #37 2023-05-15 09:31:33 ~7 min tests 📄log
✔️ 7a80351 #37 2023-05-15 09:31:55 ~8 min android 🤖apk 📲
✔️ 7a80351 #37 2023-05-15 09:33:07 ~9 min android-e2e 🤖apk 📲
✔️ 3568cfc3 #38 2023-05-15 13:38:18 ~11 min android 🤖apk 📲
✔️ 3568cfc3 #38 2023-05-15 13:39:42 ~12 min tests 📄log
✔️ 3568cfc3 #38 2023-05-15 13:40:22 ~13 min android-e2e 🤖apk 📲
✔️ 3568cfc3 #38 2023-05-15 13:41:04 ~13 min ios 📱ipa 📲
✔️ c95c0cf #39 2023-05-15 17:47:24 ~6 min android 🤖apk 📲
✔️ c95c0cf #39 2023-05-15 17:48:05 ~7 min ios 📱ipa 📲
✔️ c95c0cf #39 2023-05-15 17:48:09 ~7 min android-e2e 🤖apk 📲
✔️ c95c0cf #39 2023-05-15 17:48:25 ~7 min tests 📄log
fee1dd2 #40 2023-05-15 20:56:43 ~2 min tests 📄log
✔️ fee1dd2 #40 2023-05-15 21:00:11 ~6 min android-e2e 🤖apk 📲
✔️ fee1dd2 #40 2023-05-15 21:00:30 ~6 min android 🤖apk 📲
✔️ fee1dd2 #40 2023-05-15 21:00:37 ~6 min ios 📱ipa 📲
bfcfe9e #42 2023-05-16 07:56:06 ~4 min tests 📄log
✔️ bfcfe9e #42 2023-05-16 07:57:28 ~6 min ios 📱ipa 📲
✔️ bfcfe9e #42 2023-05-16 07:58:30 ~7 min android-e2e 🤖apk 📲
✔️ bfcfe9e #42 2023-05-16 07:58:30 ~7 min android 🤖apk 📲
bf8acfc #43 2023-05-29 19:55:07 ~5 min tests 📄log
✔️ bf8acfc #43 2023-05-29 19:57:39 ~7 min ios 📱ipa 📲
✔️ bf8acfc #43 2023-05-29 19:57:53 ~8 min android 🤖apk 📲
✔️ bf8acfc #43 2023-05-29 19:58:03 ~8 min android-e2e 🤖apk 📲
✔️ 496c50a #44 2023-06-06 16:24:26 ~8 min ios 📱ipa 📲
✔️ 496c50a #44 2023-06-06 16:24:39 ~8 min android 🤖apk 📲
✔️ 496c50a #44 2023-06-06 16:24:40 ~8 min android-e2e 🤖apk 📲
496c50a #44 2023-06-06 16:24:52 ~8 min tests 📄log
✔️ c6b21fe #45 2023-06-06 18:36:03 ~6 min android 🤖apk 📲
✔️ c6b21fe #45 2023-06-06 18:36:36 ~6 min ios 📱ipa 📲
✔️ c6b21fe #45 2023-06-06 18:37:43 ~7 min android-e2e 🤖apk 📲
c6b21fe #45 2023-06-06 18:39:16 ~9 min tests 📄log
✔️ 60c4bfe #46 2023-06-06 22:35:29 ~7 min android 🤖apk 📲
✔️ 60c4bfe #46 2023-06-06 22:36:29 ~8 min android-e2e 🤖apk 📲
✔️ 60c4bfe #46 2023-06-06 22:36:42 ~8 min ios 📱ipa 📲
60c4bfe #46 2023-06-06 22:38:56 ~10 min tests 📄log
✔️ 9dcbeb9 #47 2023-06-08 09:55:11 ~12 min ios 📱ipa 📲
✔️ 9dcbeb9 #47 2023-06-08 10:02:57 ~19 min android 🤖apk 📲
✔️ 9dcbeb9 #47 2023-06-08 10:04:25 ~21 min android-e2e 🤖apk 📲
9dcbeb9 #47 2023-06-08 10:05:04 ~21 min tests 📄log
✔️ 321451d #48 2023-06-10 00:36:52 ~7 min ios 📱ipa 📲
✔️ 321451d #48 2023-06-10 00:36:58 ~7 min android-e2e 🤖apk 📲
✔️ 321451d #48 2023-06-10 00:37:03 ~7 min android 🤖apk 📲
321451d #48 2023-06-10 00:40:10 ~11 min tests 📄log
✔️ 06ea22d #49 2023-06-12 08:58:22 ~6 min ios 📱ipa 📲
✔️ 06ea22d #49 2023-06-12 08:59:49 ~7 min android-e2e 🤖apk 📲
✔️ 06ea22d #49 2023-06-12 09:00:32 ~8 min android 🤖apk 📲
06ea22d #49 2023-06-12 09:04:38 ~12 min tests 📄log
✔️ acd2246 #50 2023-06-12 10:19:57 ~5 min android 🤖apk 📲
✔️ acd2246 #50 2023-06-12 10:21:47 ~7 min ios 📱ipa 📲
acd2246 #50 2023-06-12 10:22:19 ~8 min tests 📄log
✔️ acd2246 #50 2023-06-12 10:23:12 ~8 min android-e2e 🤖apk 📲
62cb301 #51 2023-06-12 14:48:18 ~4 min tests 📄log
✔️ 62cb301 #51 2023-06-12 14:49:07 ~5 min android-e2e 🤖apk 📲
✔️ 62cb301 #51 2023-06-12 14:49:38 ~5 min android 🤖apk 📲
✔️ 62cb301 #51 2023-06-12 14:52:56 ~9 min ios 📱ipa 📲
✔️ c10a6ec #52 2023-06-14 10:00:51 ~6 min ios 📱ipa 📲
✔️ c10a6ec #52 2023-06-14 10:03:26 ~8 min android 🤖apk 📲
c10a6ec #52 2023-06-14 10:05:48 ~11 min tests 📄log
✔️ c10a6ec #52 2023-06-14 10:06:24 ~11 min android-e2e 🤖apk 📲
✔️ 4adcaf9 #54 2023-06-20 16:35:15 ~6 min ios 📱ipa 📲
✔️ 4adcaf9 #54 2023-06-20 16:38:23 ~9 min android 🤖apk 📲
✔️ 4adcaf9 #54 2023-06-20 16:38:24 ~9 min android-e2e 🤖apk 📲
4adcaf9 #54 2023-06-20 16:40:05 ~11 min tests 📄log
8a7ec5d #55 2023-06-20 23:02:24 ~4 min tests 📄log
✔️ a8f5e40 #56 2023-06-20 23:09:23 ~5 min android-e2e 🤖apk 📲
✔️ a8f5e40 #56 2023-06-20 23:09:29 ~5 min ios 📱ipa 📲
a8f5e40 #56 2023-06-20 23:14:51 ~11 min tests 📄log
✔️ a8f5e40 #56 2023-06-20 23:14:59 ~11 min android 🤖apk 📲
✔️ 4051f25 #57 2023-06-20 23:32:40 ~5 min ios 📱ipa 📲
✔️ 4051f25 #57 2023-06-20 23:32:51 ~5 min android 🤖apk 📲
✔️ 4051f25 #57 2023-06-20 23:34:24 ~7 min android-e2e 🤖apk 📲
4051f25 #57 2023-06-20 23:35:58 ~8 min tests 📄log
✔️ 686e1f1 #58 2023-06-21 09:54:10 ~8 min android 🤖apk 📲
✔️ 686e1f1 #58 2023-06-21 09:56:16 ~10 min ios 📱ipa 📲
686e1f1 #58 2023-06-21 09:56:27 ~10 min tests 📄log
✔️ 686e1f1 #58 2023-06-21 09:56:34 ~10 min android-e2e 🤖apk 📲
✔️ 3965ff0 #59 2023-06-21 20:55:26 ~5 min ios 📱ipa 📲
✔️ 3965ff0 #59 2023-06-21 20:56:15 ~6 min android-e2e 🤖apk 📲
✔️ 3965ff0 #59 2023-06-21 20:57:19 ~7 min android 🤖apk 📲
3965ff0 #59 2023-06-21 20:58:58 ~9 min tests 📄log
d9f1ab8 #60 2023-06-23 23:34:15 ~4 min tests 📄log
✔️ d9f1ab8 #60 2023-06-23 23:37:16 ~7 min ios 📱ipa 📲
✔️ d9f1ab8 #60 2023-06-23 23:38:21 ~8 min android-e2e 🤖apk 📲
✔️ d9f1ab8 #60 2023-06-23 23:38:27 ~8 min android 🤖apk 📲
97e1107 #61 2023-06-25 23:25:52 ~3 min tests 📄log
✔️ 97e1107 #61 2023-06-25 23:28:08 ~6 min ios 📱ipa 📲
✔️ 97e1107 #61 2023-06-25 23:28:20 ~6 min android-e2e 🤖apk 📲
✔️ 97e1107 #61 2023-06-25 23:28:21 ~6 min android 🤖apk 📲
c9ef503 #62 2023-06-26 09:56:26 ~8 min tests 📄log
✔️ c9ef503 #62 2023-06-26 09:56:55 ~8 min ios 📱ipa 📲
✔️ c9ef503 #62 2023-06-26 09:59:22 ~11 min android 🤖apk 📲
✔️ c9ef503 #62 2023-06-26 10:01:36 ~13 min android-e2e 🤖apk 📲
✔️ 91d5a8b #63 2023-06-26 10:16:48 ~5 min ios 📱ipa 📲
91d5a8b #63 2023-06-26 10:19:59 ~8 min tests 📄log
✔️ 91d5a8b #63 2023-06-26 10:20:39 ~9 min android-e2e 🤖apk 📲
✔️ 91d5a8b #63 2023-06-26 10:25:32 ~14 min android 🤖apk 📲
✔️ 4bbd119 #64 2023-06-26 10:42:15 ~5 min android-e2e 🤖apk 📲
✔️ 4bbd119 #64 2023-06-26 10:43:30 ~6 min ios 📱ipa 📲
4bbd119 #64 2023-06-26 10:43:36 ~7 min tests 📄log
✔️ 4bbd119 #64 2023-06-26 10:44:41 ~8 min android 🤖apk 📲
✔️ 2d8d5d4 #65 2023-06-26 11:14:10 ~6 min android 🤖apk 📲
✔️ 2d8d5d4 #65 2023-06-26 11:14:34 ~6 min ios 📱ipa 📲
2d8d5d4 #65 2023-06-26 11:15:35 ~7 min tests 📄log
✔️ 2d8d5d4 #65 2023-06-26 11:15:48 ~7 min android-e2e 🤖apk 📲
✔️ 53504bc #66 2023-06-26 12:19:36 ~5 min android 🤖apk 📲
✔️ 53504bc #66 2023-06-26 12:20:48 ~6 min ios 📱ipa 📲
✔️ 53504bc #66 2023-06-26 12:22:35 ~8 min android-e2e 🤖apk 📲
53504bc #66 2023-06-26 12:23:33 ~9 min tests 📄log
✔️ 2f45b18 #67 2023-06-26 13:52:03 ~9 min ios 📱ipa 📲
✔️ 2f45b18 #67 2023-06-26 13:55:09 ~12 min android 🤖apk 📲
✔️ 2f45b18 #67 2023-06-26 13:55:46 ~12 min android-e2e 🤖apk 📲
2f45b18 #67 2023-06-26 13:57:14 ~14 min tests 📄log
✔️ 56d0dcc #68 2023-06-26 14:26:44 ~6 min android 🤖apk 📲
✔️ 56d0dcc #68 2023-06-26 14:26:50 ~6 min android-e2e 🤖apk 📲
✔️ 56d0dcc #68 2023-06-26 14:29:02 ~8 min ios 📱ipa 📲
56d0dcc #68 2023-06-26 14:30:09 ~9 min tests 📄log
✔️ b2129a6 #69 2023-06-26 18:59:41 ~5 min ios 📱ipa 📲
✔️ b2129a6 #69 2023-06-26 19:02:31 ~8 min android-e2e 🤖apk 📲
✔️ b2129a6 #69 2023-06-26 19:02:41 ~8 min android 🤖apk 📲
b2129a6 #69 2023-06-26 19:04:16 ~10 min tests 📄log
✔️ 3964e75 #70 2023-06-26 19:49:12 ~5 min ios 📱ipa 📲
✔️ 3964e75 #70 2023-06-26 19:49:57 ~6 min android-e2e 🤖apk 📲
✔️ 3964e75 #70 2023-06-26 19:49:59 ~6 min android 🤖apk 📲
3964e75 #70 2023-06-26 19:50:44 ~7 min tests 📄log
✔️ 885b7b2 #71 2023-06-26 20:25:52 ~5 min ios 📱ipa 📲
✔️ 885b7b2 #71 2023-06-26 20:26:33 ~6 min android-e2e 🤖apk 📲
✔️ 885b7b2 #71 2023-06-26 20:26:36 ~6 min android 🤖apk 📲
885b7b2 #71 2023-06-26 20:28:01 ~7 min tests 📄log
✔️ e1f25b0 #72 2023-06-26 22:42:04 ~5 min ios 📱ipa 📲
✔️ e1f25b0 #72 2023-06-26 22:45:39 ~9 min android-e2e 🤖apk 📲
✔️ e1f25b0 #72 2023-06-26 22:45:44 ~9 min android 🤖apk 📲
e1f25b0 #72 2023-06-26 22:46:03 ~9 min tests 📄log
✔️ 19da8e2 #74 2023-06-27 09:53:02 ~5 min ios 📱ipa 📲
✔️ 19da8e2 #74 2023-06-27 09:53:17 ~5 min android-e2e 🤖apk 📲
✔️ 19da8e2 #74 2023-06-27 09:53:21 ~5 min android 🤖apk 📲
✔️ 19da8e2 #74 2023-06-27 09:56:39 ~9 min tests 📄log
✔️ a96bc32 #75 2023-06-27 10:03:35 ~5 min android-e2e 🤖apk 📲
✔️ a96bc32 #75 2023-06-27 10:05:38 ~7 min ios 📱ipa 📲
✔️ a96bc32 #75 2023-06-27 10:06:23 ~8 min android 🤖apk 📲
✔️ a96bc32 #75 2023-06-27 10:06:50 ~9 min tests 📄log
✔️ 313797a #76 2023-06-27 10:40:35 ~5 min ios 📱ipa 📲
✔️ 313797a #76 2023-06-27 10:42:12 ~7 min android-e2e 🤖apk 📲
✔️ 313797a #76 2023-06-27 10:42:13 ~7 min android 🤖apk 📲
✔️ 313797a #76 2023-06-27 10:44:24 ~9 min tests 📄log
✔️ 8e3bc88 #77 2023-06-27 12:16:27 ~5 min ios 📱ipa 📲
✔️ 8e3bc88 #77 2023-06-27 12:16:46 ~5 min android-e2e 🤖apk 📲
✔️ 8e3bc88 #77 2023-06-27 12:17:29 ~6 min android 🤖apk 📲
✔️ 8e3bc88 #77 2023-06-27 12:23:03 ~12 min tests 📄log
✔️ 302d7fc #78 2023-06-28 10:16:56 ~8 min ios 📱ipa 📲
✔️ 302d7fc #78 2023-06-28 10:17:22 ~8 min tests 📄log
✔️ 302d7fc #78 2023-06-28 10:17:24 ~8 min android-e2e 🤖apk 📲
✔️ 302d7fc #78 2023-06-28 10:18:49 ~10 min android 🤖apk 📲
✔️ 8c7a99c #79 2023-06-28 11:46:15 ~6 min ios 📱ipa 📲
✔️ 8c7a99c #79 2023-06-28 11:46:24 ~7 min android-e2e 🤖apk 📲
✔️ 8c7a99c #79 2023-06-28 11:46:28 ~7 min android 🤖apk 📲
✔️ 8c7a99c #79 2023-06-28 11:47:02 ~7 min tests 📄log
✔️ 13bdad7 #80 2023-06-28 13:02:26 ~6 min android-e2e 🤖apk 📲
✔️ 13bdad7 #80 2023-06-28 13:02:42 ~6 min ios 📱ipa 📲
✔️ 13bdad7 #80 2023-06-28 13:03:31 ~7 min android 🤖apk 📲
✔️ 13bdad7 #80 2023-06-28 13:05:31 ~9 min tests 📄log
✔️ b47d507 #81 2023-06-29 12:35:26 ~7 min ios 📱ipa 📲
✔️ b47d507 #81 2023-06-29 12:38:17 ~10 min tests 📄log
✔️ b47d507 #81 2023-06-29 12:39:05 ~11 min android 🤖apk 📲
✔️ b47d507 #81 2023-06-29 12:39:53 ~11 min android-e2e 🤖apk 📲
✔️ 0f02953 #82 2023-06-29 17:38:30 ~7 min ios 📱ipa 📲
✔️ 0f02953 #82 2023-06-29 17:39:27 ~8 min android 🤖apk 📲
✔️ 0f02953 #82 2023-06-29 17:39:35 ~8 min android-e2e 🤖apk 📲
✔️ 0f02953 #82 2023-06-29 17:40:15 ~9 min tests 📄log
✔️ 27055dd #83 2023-07-02 22:33:09 ~8 min android-e2e 🤖apk 📲
✔️ 27055dd #83 2023-07-02 22:33:15 ~8 min ios 📱ipa 📲
✔️ 27055dd #83 2023-07-02 22:35:12 ~10 min tests 📄log
✔️ 27055dd #83 2023-07-02 22:35:51 ~11 min android 🤖apk 📲
✔️ 3ea8891 #84 2023-07-04 19:47:45 ~7 min ios 📱ipa 📲
✔️ 3ea8891 #84 2023-07-04 19:50:52 ~10 min tests 📄log
✔️ 3ea8891 #84 2023-07-04 19:51:14 ~10 min android-e2e 🤖apk 📲
✔️ 3ea8891 #84 2023-07-04 19:51:27 ~11 min android 🤖apk 📲
5b27497 #85 2023-07-05 09:13:47 ~2 min tests 📄log
✔️ 5b27497 #85 2023-07-05 09:16:42 ~5 min ios 📱ipa 📲
✔️ 5b27497 #85 2023-07-05 09:16:58 ~5 min android 🤖apk 📲
✔️ 5b27497 #85 2023-07-05 09:17:47 ~6 min android-e2e 🤖apk 📲
48e8acb #86 2023-07-05 09:39:00 ~4 min tests 📄log
✔️ 48e8acb #86 2023-07-05 09:40:27 ~5 min ios 📱ipa 📲
✔️ 48e8acb #86 2023-07-05 09:40:47 ~5 min android-e2e 🤖apk 📲
✔️ 48e8acb #86 2023-07-05 09:44:28 ~9 min android 🤖apk 📲
✔️ 613ec79 #87 2023-07-05 09:58:13 ~7 min ios 📱ipa 📲
✔️ 613ec79 #87 2023-07-05 10:00:41 ~9 min android-e2e 🤖apk 📲
✔️ 613ec79 #87 2023-07-05 10:00:46 ~9 min tests 📄log
✔️ 613ec79 #87 2023-07-05 10:01:22 ~10 min android 🤖apk 📲
✔️ 6155997 #88 2023-07-05 19:45:10 ~5 min ios 📱ipa 📲
✔️ 6155997 #88 2023-07-05 19:45:43 ~6 min android-e2e 🤖apk 📲
✔️ 6155997 #88 2023-07-05 19:45:44 ~6 min android 🤖apk 📲
✔️ 6155997 #88 2023-07-05 19:48:13 ~8 min tests 📄log
✔️ 85eed74 #91 2023-07-06 09:37:15 ~5 min ios 📱ipa 📲
✔️ 85eed74 #91 2023-07-06 09:39:54 ~8 min android 🤖apk 📲
✔️ 85eed74 #91 2023-07-06 09:41:11 ~9 min android-e2e 🤖apk 📲
✔️ 85eed74 #91 2023-07-06 09:42:02 ~10 min tests 📄log
✔️ b000da2 #92 2023-07-06 22:37:41 ~7 min ios 📱ipa 📲
✔️ b000da2 #92 2023-07-06 22:39:22 ~9 min tests 📄log
✔️ b000da2 #92 2023-07-06 22:39:29 ~9 min android-e2e 🤖apk 📲
✔️ b000da2 #92 2023-07-06 22:39:34 ~9 min android 🤖apk 📲
✔️ 51fa7b5 #93 2023-07-07 10:41:42 ~8 min android-e2e 🤖apk 📲
✔️ 51fa7b5 #93 2023-07-07 10:44:19 ~11 min tests 📄log
✔️ 51fa7b5 #93 2023-07-07 10:47:20 ~14 min ios 📱ipa 📲
✔️ 51fa7b5 #93 2023-07-07 10:48:57 ~16 min android 🤖apk 📲
ac78a12 #94 2023-07-10 07:45:53 ~3 min tests 📄log
✔️ ac78a12 #94 2023-07-10 07:49:31 ~7 min ios 📱ipa 📲
✔️ ac78a12 #94 2023-07-10 07:50:04 ~7 min android 🤖apk 📲
✔️ ac78a12 #94 2023-07-10 07:50:27 ~8 min android-e2e 🤖apk 📲
64ed30b #95 2023-07-10 21:31:37 ~4 min tests 📄log
✔️ 64ed30b #95 2023-07-10 21:35:04 ~7 min ios 📱ipa 📲
✔️ 64ed30b #95 2023-07-10 21:35:13 ~7 min android-e2e 🤖apk 📲
✔️ 64ed30b #95 2023-07-10 21:35:46 ~8 min android 🤖apk 📲
✔️ 03429e9 #97 2023-07-10 23:30:41 ~7 min ios 📱ipa 📲
✔️ 03429e9 #97 2023-07-10 23:31:30 ~7 min android-e2e 🤖apk 📲
✔️ 03429e9 #97 2023-07-10 23:34:19 ~10 min tests 📄log
✔️ 03429e9 #97 2023-07-10 23:34:56 ~11 min android 🤖apk 📲
✔️ 0dcdd34 #98 2023-07-11 12:21:15 ~7 min ios 📱ipa 📲
✔️ 0dcdd34 #98 2023-07-11 12:22:17 ~8 min android-e2e 🤖apk 📲
✔️ 0dcdd34 #98 2023-07-11 12:22:24 ~8 min android 🤖apk 📲
✔️ 0dcdd34 #98 2023-07-11 12:23:02 ~9 min tests 📄log
✔️ e042e8e #100 2023-07-11 12:53:16 ~7 min android-e2e 🤖apk 📲
✔️ e042e8e #100 2023-07-11 12:54:08 ~8 min ios 📱ipa 📲
✔️ e042e8e #100 2023-07-11 12:54:42 ~9 min tests 📄log
✔️ e042e8e #100 2023-07-11 12:55:02 ~9 min android 🤖apk 📲
✔️ 04a95bd #101 2023-07-11 15:46:20 ~9 min android 🤖apk 📲
✔️ 04a95bd #101 2023-07-11 15:46:39 ~9 min ios 📱ipa 📲
✔️ 04a95bd #101 2023-07-11 15:47:54 ~11 min tests 📄log
✔️ 04a95bd #101 2023-07-11 15:48:01 ~11 min android-e2e 🤖apk 📲
✔️ 83b65a8 #102 2023-07-11 22:08:39 ~7 min ios 📱ipa 📲
✔️ 83b65a8 #102 2023-07-11 22:08:55 ~7 min android 🤖apk 📲
✔️ 83b65a8 #102 2023-07-11 22:10:44 ~9 min android-e2e 🤖apk 📲
✔️ 83b65a8 #102 2023-07-11 22:11:02 ~9 min tests 📄log
✔️ 32f6175 #103 2023-07-12 09:48:27 ~5 min ios 📱ipa 📲
✔️ 32f6175 #103 2023-07-12 09:51:13 ~8 min android-e2e 🤖apk 📲
✔️ 32f6175 #103 2023-07-12 09:51:16 ~8 min android 🤖apk 📲
✔️ 32f6175 #103 2023-07-12 09:51:39 ~8 min tests 📄log
✔️ 4d6a38a #104 2023-07-12 10:49:00 ~6 min ios 📱ipa 📲
✔️ 93fa85c #105 2023-07-12 10:57:38 ~8 min android 🤖apk 📲
✔️ 93fa85c #105 2023-07-12 10:57:38 ~8 min android-e2e 🤖apk 📲
✔️ 93fa85c #105 2023-07-12 10:58:29 ~9 min ios 📱ipa 📲
✔️ 93fa85c #105 2023-07-12 10:59:04 ~9 min tests 📄log
✔️ 0731e85 #107 2023-07-12 11:59:52 ~5 min android-e2e 🤖apk 📲
✔️ 0731e85 #107 2023-07-12 11:59:57 ~5 min ios 📱ipa 📲
✔️ 0731e85 #107 2023-07-12 12:01:19 ~7 min android 🤖apk 📲
✔️ 0731e85 #107 2023-07-12 12:03:23 ~9 min tests 📄log
4448e5d #108 2023-07-12 14:12:39 ~3 min tests 📄log
✔️ 4448e5d #108 2023-07-12 14:14:10 ~5 min android 🤖apk 📲
✔️ 4448e5d #108 2023-07-12 14:15:34 ~6 min ios 📱ipa 📲
✔️ 4448e5d #108 2023-07-12 14:17:01 ~8 min android-e2e 🤖apk 📲
✔️ 65d1b0f #109 2023-07-12 21:30:48 ~7 min ios 📱ipa 📲
✔️ 65d1b0f #109 2023-07-12 21:30:48 ~7 min android-e2e 🤖apk 📲
✔️ 65d1b0f #109 2023-07-12 21:33:30 ~10 min tests 📄log
✔️ 65d1b0f #109 2023-07-12 21:33:49 ~10 min android 🤖apk 📲
✔️ 94b23a0 #110 2023-07-14 14:39:06 ~7 min ios 📱ipa 📲
✔️ 94b23a0 #110 2023-07-14 14:39:46 ~8 min android-e2e 🤖apk 📲
✔️ 94b23a0 #110 2023-07-14 14:39:53 ~8 min android 🤖apk 📲
✔️ 94b23a0 #110 2023-07-14 14:40:43 ~9 min tests 📄log
✔️ f829032 #111 2023-07-14 15:00:31 ~7 min android-e2e 🤖apk 📲
✔️ f829032 #111 2023-07-14 15:01:10 ~8 min android 🤖apk 📲
✔️ f829032 #111 2023-07-14 15:02:24 ~9 min tests 📄log
✔️ f829032 #111 2023-07-14 15:02:55 ~10 min ios 📱ipa 📲
✔️ b279cda #112 2023-07-14 16:05:36 ~8 min ios 📱ipa 📲
✔️ b279cda #112 2023-07-14 16:05:59 ~8 min tests 📄log
✔️ b279cda #112 2023-07-14 16:06:11 ~8 min android-e2e 🤖apk 📲
✔️ b279cda #112 2023-07-14 16:06:13 ~8 min android 🤖apk 📲
e9b55ba #113 2023-07-17 08:23:22 ~4 min tests 📄log
✔️ e9b55ba #113 2023-07-17 08:26:12 ~7 min android-e2e 🤖apk 📲
✔️ e9b55ba #113 2023-07-17 08:26:52 ~8 min android 🤖apk 📲
✔️ e9b55ba #113 2023-07-17 08:26:58 ~8 min ios 📱ipa 📲
6adfc45 #114 2023-07-17 09:31:22 ~3 min tests 📄log
✔️ 6adfc45 #114 2023-07-17 09:33:58 ~5 min ios 📱ipa 📲
✔️ 6adfc45 #114 2023-07-17 09:34:24 ~6 min android-e2e 🤖apk 📲
✔️ 6adfc45 #114 2023-07-17 09:34:25 ~6 min android 🤖apk 📲
✔️ 6adfc45 #115 2023-07-17 10:27:57 ~8 min tests 📄log
✔️ ea655be #115 2023-07-17 15:35:49 ~7 min ios 📱ipa 📲
✔️ ea655be #115 2023-07-17 15:36:42 ~8 min android 🤖apk 📲
✔️ ea655be #116 2023-07-17 15:38:24 ~10 min tests 📄log
✔️ ea655be #115 2023-07-17 15:38:57 ~11 min android-e2e 🤖apk 📲
✔️ 11abda6 #116 2023-07-18 09:23:11 ~6 min ios 📱ipa 📲
✔️ 11abda6 #116 2023-07-18 09:26:25 ~9 min android-e2e 🤖apk 📲
✔️ 11abda6 #116 2023-07-18 09:26:26 ~9 min android 🤖apk 📲
✔️ 11abda6 #117 2023-07-18 09:26:55 ~9 min tests 📄log
946d295 #118 2023-07-18 22:54:37 ~4 min tests 📄log
✔️ 946d295 #117 2023-07-18 22:59:07 ~8 min android-e2e 🤖apk 📲
✔️ 946d295 #117 2023-07-18 22:59:14 ~9 min android 🤖apk 📲
✔️ 946d295 #117 2023-07-18 23:00:22 ~10 min ios 📱ipa 📲
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ c0c2d87 #118 2023-07-19 10:06:22 ~6 min ios 📱ipa 📲
✔️ c0c2d87 #118 2023-07-19 10:08:22 ~8 min android 🤖apk 📲
✔️ c0c2d87 #118 2023-07-19 10:08:31 ~8 min android-e2e 🤖apk 📲
✔️ c0c2d87 #119 2023-07-19 10:09:08 ~8 min tests 📄log
✔️ 420ecda #120 2023-07-19 13:21:52 ~8 min tests 📄log
✔️ 420ecda #119 2023-07-19 13:22:18 ~8 min ios 📱ipa 📲
✔️ 420ecda #119 2023-07-19 13:23:20 ~10 min android-e2e 🤖apk 📲
✔️ 420ecda #119 2023-07-19 13:23:24 ~10 min android 🤖apk 📲

@jo-mut jo-mut changed the title Mute community WIP Mute community Feb 22, 2023
@jo-mut jo-mut changed the title WIP Mute community Mute community Feb 23, 2023
{:events [:community/mute-community-failed]}
[{:keys [db]} community-id muted? error]
(log/error "mute community failed" community-id error)
{:db (assoc-in db [:communities community-id :muted] (not muted?))})
Copy link
Contributor

Choose a reason for hiding this comment

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

I would assume on error that we do not want to update the state because the request failed on the backend so nothing has actually happened.

I wonder is there any designs in for toasts etc like this where network requests have failed

Copy link
Contributor Author

Choose a reason for hiding this comment

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

yeah you are right should just be muted instead of (not muted?)

Copy link
Contributor

Choose a reason for hiding this comment

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

actually, I think you should just remove this code and move the other db change to on-success so the db is updated if the request is successful

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@J-Son89 Removing this code does not really go well with the flow of events.
When you mute a community, the local db is updated first then the request is sent. The effect of this is a real-time update of the ui that the community has been muted.
Updating the ui after mute-community has been processed successfully takes time and sometime does not seem to work untill the app is restarted. Thats why we are updating the community to the previous state when the request fails. I think this code is okay as it is

Copy link
Contributor

Choose a reason for hiding this comment

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

This topic surfaces every now and then about what we should do if the RPC call fails. My (imperfect) understanding is more or less like this:

  • Many times, the mobile app does optimistic updates on the app db state, i.e. we call the RPC endpoint and simultaneously update the app db state. The :on-success of the RPC call is then used only if it returns new/unique data that wasn't available before the RPC call. The advantage of doing this is that it help make the app feel snappier.
  • If we use an optimistic update AND the RPC call fails, then (ideally) we should rollback the app db changes in the :on-error event handler. We don't do this sometimes, we just log that something odd happened. This is bad in general. It is acceptable for now, but I suspect in the future we'll establish a stronger practice.
  • We can avoid the optimistic update entirely as well, and some events do it, i.e. the app db state is only updated after a successful RPC call. This can cause a slightly longer delay for the UI to update.
  • There's pretty much zero chance of the RPC call failing due to network conditions, because it's all local. So that's one big reason we treat RPC calls almost like function calls in Clojure. In other words, a failure always means something happened, but never network related. This is very different from re-frame apps that do a lot of remote network calls (often HTTP ones), where those apps need to be much more strict about network failures.

Copy link
Contributor

Choose a reason for hiding this comment

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

Updating the ui after mute-community has been processed successfully takes time and sometime does not seem to work untill the app is restarted.

This though is concerning, it looks like there might be issues, it should not happen, so worth looking into.

The code is ok, we use this pattern somewhere, optimistically updating the community, and this endpoint does not provide an updated community response, so that's ok

Copy link
Contributor Author

Choose a reason for hiding this comment

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

wow nice thanks for this explanation @ilmotta

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@cammellos can be looked into in a separate issue?

(rf/defn mute-chat-toggled-successfully
{:events [:community/mute-community-successful]}
[_ community-id]
(log/debug "muted chat successfully" community-id))
Copy link
Contributor

Choose a reason for hiding this comment

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

afaik, It would be better to update the db in here, as the network request has successfully gone through here 👍
although perhaps @cammellos or someone else can confirm/ shed some light on this.

@@ -134,7 +134,7 @@
[:<>
[:f> scroll-page-header @scroll-height height name page-nav-right-section-buttons
cover-image sticky-header top-nav title-colum navigate-back?]
[rn/scroll-view
[rn/flat-list
Copy link
Contributor

Choose a reason for hiding this comment

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

hmm, why so? 🤔

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Just because flat-list handle long list way better than scroll-view. Also i noticed the list item does not update the view with the muted-icon when you click to mute a community. Using flatlist this seems to work okay

Copy link
Contributor

Choose a reason for hiding this comment

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

cool, thanks @jo-mut

Copy link
Contributor

Choose a reason for hiding this comment

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

@J-Son89 usage of scroll-view should generally be avoided in RN. Always use FlatList or SectionList. Here is a quick comparison: https://stackoverflow.com/questions/55256221/flatlist-vs-scrollview

Copy link
Contributor

Choose a reason for hiding this comment

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

thanks @OmarBasem :D

(when cover-image
[:f> display-picture @scroll-height cover-image])
children])]])))
(on-scroll @scroll-height)))
Copy link
Contributor

Choose a reason for hiding this comment

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

is this related to mute community ? or some other changes? maybe you can explain why you made this change.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

yeah. since I am using a flat-list instead of a scroll-view these views are all placed in the header component of the flat-list. The change is only necessary because am using flat-list here

@@ -41,12 +41,13 @@
:on-press #(hide-sheet-and-dispatch [:chat.ui/mark-all-read-in-community-pressed id])})

(defn mute-community
[_ muted?]
[id muted?]
{:icon (if muted? :i/muted :i/activity-center)
:accessibility-label (if muted? :unmute-community :mute-community)
:label (i18n/label (if muted? :t/unmute-community :t/mute-community))
:sub-label (when muted? (str "muted for 15 minutes"))
Copy link
Contributor

Choose a reason for hiding this comment

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

you should probably adjust this string. how long is the community muted for btw?

fro. the designs i believe it's not just muted or unmuted, it's muted for 15 mins, 1 hour etc.. or is this something we will handle a different time?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

at the moment the muting of a community is not time locked I guess its right to remove the string and handle that in a different PR

Copy link
Contributor

Choose a reason for hiding this comment

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

ok cool, do you know if it's possible to time lock on the back end? or it's a feature that will be added later?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I will have to confirm that

Copy link
Contributor

@OmarBasem OmarBasem left a comment

Choose a reason for hiding this comment

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

I think we should have a generic toast for error handling. Something like (toast/error "mute community failed"). Other than that, looks good.

{:db (assoc-in db [:communities community-id :muted] muted?)
:json-rpc/call [{:method "wakuext_setCommunityMuted"
:params [community-id muted?]
:on-error #(log/error "mute community failed" %)
Copy link
Contributor

Choose a reason for hiding this comment

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

@jo-mut, @J-Son89, this is one example of an optimistic update that does not rollback the state if there was a failure. I think we should fix this because it generally means the end-user might take further actions on the app based on an incorrect view/state of the world.

Here the correct approach is to dispatch a separate event :community/set-muted-error and rollback the state.

:shows-horizontal-scroll-indicator false
:separator [rn/view {:width 12}]
:data communities-ids
:render-fn render-fn}])
Copy link
Contributor

Choose a reason for hiding this comment

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

The :render-fn keyword often confuses us. The component we pass to render-fn is really a normal component, like any other, so I think we shouldn't name it render-fn or anything containing the word render. The only difference is that this component receives a particular set of arguments, like the current element under iteration and the index.

The component could be named just community-list-item.

@jo-mut jo-mut force-pushed the mute-community branch 2 times, most recently from 0f6be5c to 7ab4605 Compare February 24, 2023 11:04
@jo-mut
Copy link
Contributor Author

jo-mut commented Feb 24, 2023

I think we should have a generic toast for error handling. Something like (toast/error "mute community failed"). Other than that, looks good.

I agree. A toast is very much relevant in this case. For instance when you mute the community from the overview page there is no telling to the user if the community has truly been muted or not

@jo-mut jo-mut force-pushed the mute-community branch 2 times, most recently from f92c08d to 3ccccc8 Compare February 27, 2023 09:19
@jo-mut
Copy link
Contributor Author

jo-mut commented Jul 18, 2023

@pavloburykh pr is okay now

@pavloburykh
Copy link
Contributor

@pavloburykh pr is okay now

@jo-mut thank you! Currently we are busy with release 1.24 testing. So we will proceed with PRs testing as soon as we finish with release.

@status-im-auto
Copy link
Member

61% of end-end tests have passed

Total executed tests: 36
Failed tests: 14
Passed tests: 22
IDs of failed tests: 702855,702730,702745,702731,702851,702733,702838,702813,703133,702783,702782,702784,703391,702732 

Failed tests (14)

Click to expand
  • Rerun failed tests

  • Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_pin_messages, id: 702732
    Test is not run, e2e blocker  
    

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

    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/test_public_chat_browsing.py:433: in test_restore_multiaccount_with_waku_backup_remove_switch
        self.errors.verify_no_errors()
    base_test_case.py:182: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Contact(s) was (were) not restored from backup: MyCustomNickname!
    



    Device sessions

    Class TestActivityCenterContactRequestMultipleDevicePR:

    1. test_activity_center_contact_request_accept_swipe_mark_all_as_read, id: 702851

    Device 2: Find Button by accessibility id: tab-contacts
    Device 2: Tap on found: Button

    medium/test_activity_center.py:111: in test_activity_center_contact_request_accept_swipe_mark_all_as_read
        self.errors.verify_no_errors()
    base_test_case.py:182: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Contact was not added to contact list after accepting contact request (as receiver)
    E    Contact was not added to contact list after accepting contact request (as sender)
    



    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_edit_message, id: 702855

    Test setup failed: critical/chats/test_1_1_public_chats.py:837: 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:646: in run_until_complete
        return future.result()
    __init__.py:44: 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:239: in create_user
        self.identifiers_button.wait_and_click(30)
    ../views/base_element.py:403: in wait_and_click
        self.wait_for_visibility_of_element(sec)
    ../views/base_element.py:135: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: Button by accessibility id:`skip-identifiers` is not found on the screen after wait_for_visibility_of_element
    



    2. test_1_1_chat_message_reaction, id: 702730

    Device 1: Tap on found: Button
    ## New multiaccount is created successfully!

    Test setup failed: critical/chats/test_1_1_public_chats.py:837: 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:646: in run_until_complete
        return future.result()
    __init__.py:44: 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:239: in create_user
        self.identifiers_button.wait_and_click(30)
    ../views/base_element.py:403: in wait_and_click
        self.wait_for_visibility_of_element(sec)
    ../views/base_element.py:135: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: Button by accessibility id:`skip-identifiers` is not found on the screen after wait_for_visibility_of_element
    



    Device sessions

    3. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745

    Test setup failed: critical/chats/test_1_1_public_chats.py:837: 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:646: in run_until_complete
        return future.result()
    __init__.py:44: 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:239: in create_user
        self.identifiers_button.wait_and_click(30)
    ../views/base_element.py:403: in wait_and_click
        self.wait_for_visibility_of_element(sec)
    ../views/base_element.py:135: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: Button by accessibility id:`skip-identifiers` is not found on the screen after wait_for_visibility_of_element
    



    4. test_1_1_chat_pin_messages, id: 702731

    Test is not run, e2e blocker  
    

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

    5. test_1_1_chat_text_message_delete_push_disappear, id: 702733

    Test setup failed: critical/chats/test_1_1_public_chats.py:837: 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:646: in run_until_complete
        return future.result()
    __init__.py:44: 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:239: in create_user
        self.identifiers_button.wait_and_click(30)
    ../views/base_element.py:403: in wait_and_click
        self.wait_for_visibility_of_element(sec)
    ../views/base_element.py:135: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: Button by accessibility id:`skip-identifiers` is not found on the screen after wait_for_visibility_of_element
    



    6. test_1_1_chat_push_emoji, id: 702813

    Test setup failed: critical/chats/test_1_1_public_chats.py:837: 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:646: in run_until_complete
        return future.result()
    __init__.py:44: 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:239: in create_user
        self.identifiers_button.wait_and_click(30)
    ../views/base_element.py:403: in wait_and_click
        self.wait_for_visibility_of_element(sec)
    ../views/base_element.py:135: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: Button by accessibility id:`skip-identifiers` is not found on the screen after wait_for_visibility_of_element
    



    7. test_1_1_chat_is_shown_message_sent_delivered_from_offline, id: 702783

    Test setup failed: critical/chats/test_1_1_public_chats.py:837: 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:646: in run_until_complete
        return future.result()
    __init__.py:44: 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:239: in create_user
        self.identifiers_button.wait_and_click(30)
    ../views/base_element.py:403: in wait_and_click
        self.wait_for_visibility_of_element(sec)
    ../views/base_element.py:135: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: Button by accessibility id:`skip-identifiers` is not found on the screen after wait_for_visibility_of_element
    



    8. test_1_1_chat_emoji_send_reply_and_open_link, id: 702782

    Test setup failed: critical/chats/test_1_1_public_chats.py:837: 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:646: in run_until_complete
        return future.result()
    __init__.py:44: 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:239: in create_user
        self.identifiers_button.wait_and_click(30)
    ../views/base_element.py:403: in wait_and_click
        self.wait_for_visibility_of_element(sec)
    ../views/base_element.py:135: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: Button by accessibility id:`skip-identifiers` is not found on the screen after wait_for_visibility_of_element
    



    9. test_1_1_chat_delete_via_long_press_relogin, id: 702784

    Test setup failed: critical/chats/test_1_1_public_chats.py:837: 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:646: in run_until_complete
        return future.result()
    __init__.py:44: 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:239: in create_user
        self.identifiers_button.wait_and_click(30)
    ../views/base_element.py:403: in wait_and_click
        self.wait_for_visibility_of_element(sec)
    ../views/base_element.py:135: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: Button by accessibility id:`skip-identifiers` is not found on the screen after wait_for_visibility_of_element
    



    10. test_1_1_chat_send_image_save_and_share, id: 703391

    Test setup failed: critical/chats/test_1_1_public_chats.py:837: 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:646: in run_until_complete
        return future.result()
    __init__.py:44: 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:239: in create_user
        self.identifiers_button.wait_and_click(30)
    ../views/base_element.py:403: in wait_and_click
        self.wait_for_visibility_of_element(sec)
    ../views/base_element.py:135: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 2: Button by accessibility id:`skip-identifiers` is not found on the screen after wait_for_visibility_of_element
    



    Class TestCommunityMultipleDeviceMerged:

    1. test_community_message_send_check_timestamps_sender_username, id: 702838

    Device 1: Type new message to ChatMessageInput
    Device 1: Find SendMessageButton by accessibility id: send-message-button

    critical/test_public_chat_browsing.py:495: in test_community_message_send_check_timestamps_sender_username
        self.channel_1.send_message(new_message)
    ../views/chat_view.py:970: in send_message
        self.send_message_button.click()
    ../views/base_element.py:91: in click
        self.find_element().click()
    ../views/base_element.py:80: in find_element
        raise NoSuchElementException(
     Device 1: SendMessageButton by accessibility id: `send-message-button` is not found on the screen
    



    Device sessions

    Passed tests (22)

    Click to expand

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_reactions, id: 703202
    Device sessions

    2. test_group_chat_join_send_text_messages_push, id: 702807
    Device sessions

    3. test_group_chat_offline_pn, id: 702808
    Device sessions

    4. test_group_chat_send_image_save_and_share, id: 703297
    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

    Class TestActivityMultipleDevicePR:

    1. test_activity_center_reply_read_unread_delete_filter_swipe, id: 702947
    Device sessions

    2. test_activity_center_admin_notification_accept_swipe, id: 702958
    Device sessions

    3. test_activity_center_mentions, id: 702957
    Device sessions

    4. test_navigation_jump_to, id: 702936
    Device sessions

    Class TestActivityCenterContactRequestMultipleDevicePR:

    1. test_activity_center_contact_request_decline, id: 702850
    Device sessions

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_leave, id: 702845
    Device sessions

    2. test_community_emoji_send_copy_paste_reply, id: 702840
    Device sessions

    3. test_community_contact_block_unblock_offline, id: 702894
    Device sessions

    4. test_community_mark_all_messages_as_read, id: 703086
    Device sessions

    5. test_community_mentions_push_notification, id: 702786
    Device sessions

    6. test_community_links_with_previews_github_youtube_twitter_gif_send_enable, id: 702844
    Device sessions

    7. test_community_unread_messages_badge, id: 702841
    Device sessions

    8. test_community_message_delete, id: 702839
    Device sessions

    9. test_community_one_image_send_reply, id: 702859
    Device sessions

    10. test_community_message_edit, id: 702843
    Device sessions

    11. test_community_several_images_send_reply, id: 703194
    Device sessions

    @pavloburykh
    Copy link
    Contributor

    pavloburykh commented Jul 19, 2023

    hi @jo-mut! I am in the middle of testing the PR. I noticed that you have pushed more commits. Are these some new changes or just rebasing? In case of any new changes or resolving conflicts I will need to re-test PR from scratch.

    @jo-mut
    Copy link
    Contributor Author

    jo-mut commented Jul 19, 2023

    @pavloburykh yes I updated status-go version. Seems there was a problems with migration files that had not been applied. The issue with login on iOS and communities not being displayed have been resolved. Apart from that everythins is what you have previously tested

    My apologies on this pr. has taken so long

    @pavloburykh
    Copy link
    Contributor

    @pavloburykh yes I updated status-go version. Seems there was a problems with migration files that had not been applied. The issue with login on iOS and communities not being displayed have been resolved. Apart from that everythins is what you have previously tested

    My apologies on this pr. has taken so long

    Thanks. I was asking directly about this new commit
    Mute community by jo-mut · Pull Request #15161 · status-im:status-mobile 2023-07-19 13-25-01

    @jo-mut
    Copy link
    Contributor Author

    jo-mut commented Jul 19, 2023

    @pavloburykh that is just to fix some lint issues

    @pavloburykh
    Copy link
    Contributor

    @pavloburykh that is just to fix some lint issues

    cool, thank you!

    @status-im-auto
    Copy link
    Member

    89% of end-end tests have passed

    Total executed tests: 36
    Failed tests: 4
    Passed tests: 32
    
    IDs of failed tests: 702731,702732,702851,703133 
    

    Failed tests (4)

    Click to expand
  • Rerun failed tests

  • 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]]

    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/test_public_chat_browsing.py:433: in test_restore_multiaccount_with_waku_backup_remove_switch
        self.errors.verify_no_errors()
    base_test_case.py:182: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Contact(s) was (were) not restored from backup: MyCustomNickname!
    



    Device sessions

    Class TestActivityCenterContactRequestMultipleDevicePR:

    1. test_activity_center_contact_request_accept_swipe_mark_all_as_read, id: 702851

    Device 2: Find Button by accessibility id: tab-contacts
    Device 2: Tap on found: Button

    medium/test_activity_center.py:111: in test_activity_center_contact_request_accept_swipe_mark_all_as_read
        self.errors.verify_no_errors()
    base_test_case.py:182: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Contact was not added to contact list after accepting contact request (as receiver)
    E    Contact was not added to contact list after accepting contact request (as sender)
    



    Device sessions

    Passed tests (32)

    Click to expand

    Class TestGroupChatMultipleDeviceMergedNewUI:

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

    Class TestActivityMultipleDevicePR:

    1. test_activity_center_mentions, id: 702957
    Device sessions

    2. test_activity_center_admin_notification_accept_swipe, id: 702958
    Device sessions

    3. test_navigation_jump_to, id: 702936
    Device sessions

    4. test_activity_center_reply_read_unread_delete_filter_swipe, id: 702947
    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_emoji_send_reply_and_open_link, id: 702782
    Device sessions

    2. test_1_1_chat_send_image_save_and_share, id: 703391
    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_edit_message, id: 702855
    Device sessions

    7. test_1_1_chat_message_reaction, id: 702730
    Device sessions

    8. test_1_1_chat_delete_via_long_press_relogin, id: 702784
    Device sessions

    9. test_1_1_chat_is_shown_message_sent_delivered_from_offline, id: 702783
    Device sessions

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_emoji_send_copy_paste_reply, id: 702840
    Device sessions

    2. test_community_one_image_send_reply, id: 702859
    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_edit, id: 702843
    Device sessions

    7. test_community_message_send_check_timestamps_sender_username, id: 702838
    Device sessions

    8. test_community_several_images_send_reply, id: 703194
    Device sessions

    9. test_community_mark_all_messages_as_read, id: 703086
    Device sessions

    10. test_community_leave, id: 702845
    Device sessions

    11. test_community_contact_block_unblock_offline, id: 702894
    Device sessions

    12. test_community_mentions_push_notification, id: 702786
    Device sessions

    Class TestCommunityOneDeviceMerged:

    1. test_community_navigate_to_channel_when_relaunch, id: 702846
    Device sessions

    2. test_community_copy_and_paste_message_in_chat_input, id: 702742
    Device sessions

    Class TestActivityCenterContactRequestMultipleDevicePR:

    1. test_activity_center_contact_request_decline, id: 702850
    Device sessions

    @pavloburykh
    Copy link
    Contributor

    @jo-mut thank you for the PR and fixes. Ready for merge.

    @jo-mut jo-mut merged commit 2317e85 into develop Jul 19, 2023
    @jo-mut jo-mut deleted the mute-community branch July 19, 2023 13:30
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Projects
    No open projects
    Archived in project
    Development

    Successfully merging this pull request may close these issues.

    Allow user to mute a community