Page MenuHomePhabricator

[lib] Introduce a new permission for managing invite links
ClosedPublic

Authored by tomek on May 9 2023, 6:31 AM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Nov 7, 4:59 PM
Unknown Object (File)
Sun, Nov 3, 1:44 AM
Unknown Object (File)
Mon, Oct 28, 1:07 PM
Unknown Object (File)
Oct 16 2024, 4:57 PM
Unknown Object (File)
Oct 16 2024, 4:57 PM
Unknown Object (File)
Oct 16 2024, 4:57 PM
Unknown Object (File)
Oct 16 2024, 4:57 PM
Unknown Object (File)
Oct 16 2024, 4:56 PM
Subscribers

Details

Summary

This permission will be required to create / edit / disable an invite link. We don't need to use descendants feature as only the communities can have an invite link.

Test Plan

Run the migration and check if all the admin roles has this permission.

Diff Detail

Repository
rCOMM Comm
Lint
No Lint Coverage
Unit
No Test Coverage

Event Timeline

native/redux/update-roles-and-permissions.test.js
11 ↗(On Diff #26302)

These tests are based on a state exported from @atul's redux - updating it is tricky and I haven't found a good way of doing that. Described it a bit in https://linear.app/comm/issue/ENG-3557/create-a-new-permission.

tomek requested review of this revision.May 9 2023, 6:51 AM
This revision is now accepted and ready to land.May 15 2023, 2:31 AM
native/redux/update-roles-and-permissions.test.js
11 ↗(On Diff #26302)

This permission should not have been introduced without corresponding changes on the native side to prevent massive inconsistency reports from being generated.

Two other changes should have been included:

  1. D8006: a redux-persist migration that calls updateClientDBThreadStoreThreadInfos(state, updateRolesAndPermissions) so that native clients add the permission without needing any updates from the keyserver.
  2. D8007: code on the keyserver to gate the new permission to only clients that can support it and will have it already in Redux due to 1.