Map Discord member permissions to sim user PLs #9

Closed
opened 2023-10-13 12:30:30 +00:00 by cadence · 2 comments
Owner

This is easiest to explain with examples.

If a Discord user is owner or has a role with Administrator, their sim should be marked PL 100 so they display as Administrator on Matrix-side too.

If a Discord user has a role with Manage Messages, or a channel override with Manage Messages, their sim should be marked PL 50 so they display as Moderator on Matrix-side.

The PLs should be channel-specific.

I need to think about which different kinds of permissions would count as PL 50 or PL 100. Discord has some permissions below Administrator which still grant very high access, like Manage Channel to delete a channel. This is similar to PL 100 allowing Matrix users to brick a room. So Manage Channel probably counts as Administrator.

Numeric PLs are not worth considering. Seeing PL 75 in a client has no semantic meaning.

This is easiest to explain with examples. If a Discord user is owner or has a role with Administrator, their sim should be marked PL 100 so they display as Administrator on Matrix-side too. If a Discord user has a role with Manage Messages, or a channel override with Manage Messages, their sim should be marked PL 50 so they display as Moderator on Matrix-side. The PLs should be channel-specific. I need to think about which different kinds of permissions would count as PL 50 or PL 100. Discord has some permissions below Administrator which still grant very high access, like Manage Channel to delete a channel. This is similar to PL 100 allowing Matrix users to brick a room. So Manage Channel probably counts as Administrator. Numeric PLs are not worth considering. Seeing PL 75 in a client has no semantic meaning.
Author
Owner

It would be technically useful to mark members with MENTION_EVERYONE (and not moderator) as power level 20 (or thereabouts) so that the @room permission on Matrix can also be granted at power level 20.

Then to bridge @everyone -> @room, respecting permissions, we don't need to do any permission checks in the message converter because the permission systems from each platform will do the work.

It would be technically useful to mark members with MENTION_EVERYONE (and not moderator) as power level 20 (or thereabouts) so that the @room permission on Matrix can also be granted at power level 20. Then to bridge @everyone -> @room, respecting permissions, we don't need to do any permission checks in the message converter because the permission systems from each platform will do the work.
cadence added this to the v2.x milestone 2024-03-05 22:55:47 +00:00
Author
Owner

Done in 043f178d1e and 12d85c982e.

Done in 043f178d1e424b0d61c6f912d8712fc3ac137687 and 12d85c982e20adba182f73b7576a02d62b0b9ca4.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: cadence/out-of-your-element#9
No description provided.