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

Display private permissions only when the requirements are met #19675

Merged
merged 1 commit into from
Apr 19, 2024

Conversation

ajayesivan
Copy link
Contributor

@ajayesivan ajayesivan commented Apr 16, 2024

fixes #19606

status-go pr: status-im/status-go#5059

Hide private permissions when they are not satisfied.

In the below community member permissions, the second and last permissions are private. So those permissions should only be displayed to the user when the user holds the required tokens.
Screenshot 2024-04-16 at 16 03 18

Community overview screen

Before After

Non-member permissions are always private
Screenshot 2024-04-16 at 16 10 18

Before After

Community permissions sheet

Before After

Areas affected

  • Community overview screen permissions list
  • Community permissions sheet

status: ready

@status-im-auto
Copy link
Member

status-im-auto commented Apr 16, 2024

Jenkins Builds

Click to see older builds (26)
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ b248c15 #1 2024-04-16 14:23:00 ~5 min tests 📄log
✔️ b248c15 #1 2024-04-16 14:24:57 ~7 min android-e2e 🤖apk 📲
✔️ b248c15 #1 2024-04-16 14:25:03 ~7 min android 🤖apk 📲
✔️ b248c15 #1 2024-04-16 14:29:55 ~12 min ios 📱ipa 📲
9c56f21 #2 2024-04-16 16:11:13 ~36 sec android 📄log
9c56f21 #2 2024-04-16 16:11:24 ~47 sec android-e2e 📄log
9c56f21 #2 2024-04-16 16:12:44 ~2 min ios 📄log
9c56f21 #2 2024-04-16 16:13:03 ~2 min tests 📄log
68e322c #3 2024-04-17 08:14:32 ~42 sec android 📄log
68e322c #3 2024-04-17 08:14:35 ~43 sec android-e2e 📄log
68e322c #3 2024-04-17 08:16:26 ~2 min ios 📄log
68e322c #3 2024-04-17 08:17:00 ~3 min tests 📄log
c7a5e4e #4 2024-04-17 09:52:50 ~29 sec android 📄log
9af6e16 #5 2024-04-17 09:53:24 ~35 sec android 📄log
9af6e16 #5 2024-04-17 09:53:59 ~1 min android-e2e 📄log
9af6e16 #5 2024-04-17 09:55:05 ~2 min tests 📄log
9af6e16 #5 2024-04-17 09:55:42 ~2 min ios 📄log
fbe92ee #6 2024-04-17 10:00:48 ~32 sec android-e2e 📄log
fbe92ee #6 2024-04-17 10:00:57 ~41 sec android 📄log
fbe92ee #6 2024-04-17 10:02:09 ~1 min ios 📄log
fbe92ee #6 2024-04-17 10:02:30 ~2 min tests 📄log
fbe92ee #7 2024-04-17 10:13:33 ~2 min tests 📄log
✔️ c8673f1 #8 2024-04-17 10:32:18 ~4 min tests 📄log
✔️ c8673f1 #7 2024-04-17 10:33:37 ~6 min android-e2e 🤖apk 📲
✔️ c8673f1 #7 2024-04-17 10:35:36 ~8 min android 🤖apk 📲
✔️ c8673f1 #7 2024-04-17 10:40:03 ~12 min ios 📱ipa 📲
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ d5fa5c0 #9 2024-04-19 11:06:59 ~4 min tests 📄log
✔️ d5fa5c0 #8 2024-04-19 11:09:13 ~6 min android-e2e 🤖apk 📲
✔️ d5fa5c0 #8 2024-04-19 11:10:13 ~7 min android 🤖apk 📲
✔️ d5fa5c0 #8 2024-04-19 11:14:48 ~12 min ios 📱ipa 📲
✔️ 1afc747 #10 2024-04-19 16:41:02 ~5 min tests 📄log
✔️ 1afc747 #9 2024-04-19 16:44:23 ~9 min android-e2e 🤖apk 📲
✔️ 1afc747 #9 2024-04-19 16:44:56 ~9 min ios 📱ipa 📲
✔️ 1afc747 #9 2024-04-19 16:45:21 ~10 min android 🤖apk 📲

Comment on lines 334 to 340
(defn visible-criteria
[criteria]
(filter (fn [{:keys [isPrivate criteria]}]
(or (not isPrivate) (every? identity criteria)))
criteria))
Copy link
Contributor

Choose a reason for hiding this comment

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

It's very confusing that we have the argument name and the destructured name the same.
criteria can be destructured differently.

(defn visible-criteria
[criteria]
(filter (fn [{:keys [isPrivate criteria]}]
(or (not isPrivate) (every? identity criteria)))
Copy link
Contributor

Choose a reason for hiding this comment

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

Why not?

(every? true? [...])

@ajayesivan ajayesivan force-pushed the 19606-hide-private-permissions branch 5 times, most recently from fbe92ee to c8673f1 Compare April 17, 2024 10:27
@status-im-auto
Copy link
Member

96% of end-end tests have passed

Total executed tests: 52
Failed tests: 0
Expected to fail tests: 2
Passed tests: 50
IDs of expected to fail tests: 703495,703503 

Expected to fail tests (2)

Click to expand

Class TestGroupChatMultipleDeviceMergedNewUI:

1. test_group_chat_mute_chat, id: 703495

# STEP: Change device time so chat will be unmuted by timer
Device 2: Long press on `ChatElement`

critical/chats/test_group_chat.py:464: in test_group_chat_mute_chat
    self.errors.verify_no_errors()
base_test_case.py:190: in verify_no_errors
    pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
 Chat is still muted after timeout 

[[Chat is not unmuted after expected time: https://github.com//issues/19627]]

Device sessions

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

Passed tests (50)

Click to expand

Class TestWalletMultipleDevice:

1. test_wallet_send_asset_from_drawer, id: 727230
Device sessions

2. test_wallet_send_eth, id: 727229
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 TestWalletOneDevice:

1. test_wallet_add_remove_regular_account, id: 727231
Device sessions

2. test_wallet_add_remove_watch_only_account, id: 727232
Device sessions

Class TestGroupChatMultipleDeviceMergedNewUI:

1. test_group_chat_pin_messages, id: 702732
Device sessions

2. test_group_chat_send_image_save_and_share, id: 703297
Device sessions

3. test_group_chat_reactions, id: 703202
Device sessions

4. test_group_chat_join_send_text_messages_push, id: 702807
Device sessions

5. test_group_chat_offline_pn, id: 702808
Device sessions

Class TestCommunityMultipleDeviceMerged:

1. test_community_several_images_send_reply, id: 703194
Device sessions

2. test_community_one_image_send_reply, id: 702859
Device sessions

3. test_community_emoji_send_copy_paste_reply, id: 702840
Device sessions

4. test_community_mark_all_messages_as_read, id: 703086
Device sessions

5. test_community_contact_block_unblock_offline, id: 702894
Device sessions

6. test_community_edit_delete_message_when_offline, id: 704615
Device sessions

7. test_community_message_delete, id: 702839
Device sessions

8. test_community_message_send_check_timestamps_sender_username, id: 702838
Device sessions

9. test_community_links_with_previews_github_youtube_twitter_gif_send_enable, id: 702844
Device sessions

10. test_community_message_edit, id: 702843
Device sessions

11. test_community_unread_messages_badge, id: 702841
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

5. test_community_join_when_node_owner_offline, id: 703629
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 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 TestCommunityOneDeviceMerged:

1. test_restore_multiaccount_with_waku_backup_remove_switch, id: 703133
Device sessions

2. test_community_copy_and_paste_message_in_chat_input, id: 702742
Device sessions

3. test_community_undo_delete_message, id: 702869
Device sessions

4. test_community_navigate_to_channel_when_relaunch, id: 702846
Device sessions

5. test_community_mute_community_and_channel, id: 703382
Device sessions

Class TestOneToOneChatMultipleSharedDevicesNewUi:

1. test_1_1_chat_emoji_send_reply_and_open_link, id: 702782
Device sessions

2. test_1_1_chat_text_message_delete_push_disappear, id: 702733
Device sessions

3. test_1_1_chat_push_emoji, id: 702813
Device sessions

4. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745
Device sessions

5. test_1_1_chat_edit_message, id: 702855
Device sessions

6. test_1_1_chat_send_image_save_and_share, id: 703391
Device sessions

7. test_1_1_chat_pin_messages, id: 702731
Device sessions

8. test_1_1_chat_message_reaction, id: 702730
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 TestDeepLinksOneDevice:

1. test_links_open_universal_links_from_chat, id: 704613
Device sessions

2. test_links_deep_links, id: 702775
Device sessions

@pavloburykh
Copy link
Contributor

@ajayesivan thanks for the PR! could you please rebase go and mobile branches? thanks.

@pavloburykh
Copy link
Contributor

Also, please add status-go label to PRs which contain changes on go side.

@ajayesivan ajayesivan force-pushed the 19606-hide-private-permissions branch from c8673f1 to d5fa5c0 Compare April 19, 2024 11:02
@ajayesivan
Copy link
Contributor Author

@pavloburykh I have rebased both go & mobile branches

@pavloburykh pavloburykh self-assigned this Apr 19, 2024
@pavloburykh
Copy link
Contributor

@ajayesivan thank you for the PR! LGTM on Android.
Unfortunately I was not able to check on IOS because of #19736
But I consider we should not block this PR. Let's merge it, and I will check IOS in develop once the bug is fixed.

@ajayesivan ajayesivan force-pushed the 19606-hide-private-permissions branch from d5fa5c0 to 1afc747 Compare April 19, 2024 16:34
@ajayesivan ajayesivan merged commit 8034167 into develop Apr 19, 2024
6 checks passed
@ajayesivan ajayesivan deleted the 19606-hide-private-permissions branch April 19, 2024 16:49
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
5 participants