New permission controlling 2+ recipients PDs #184
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changes proposed in this pull request:
A new permission controls whether the user can add more than 2 user recipients to a discussion. This allows restricting the feature to simple direct messages and control who can create group discussions separately.
The texts in the recipients modal have not been modified, but if you try adding a third recipient to a new discussion and don't have the permission, the other recipient will be removed and the newly selected recipient added.
The permission only affects the user count. If the actor has permission to add groups, those are still unlimited and unaffected. It probably doesn't make sense to restrict user count while allowing groups but it'll work.
Reviewers should focus on:
This first version is not "backward compatible", users who update would lose functionality until they customize the new permission. I guess we should copy the value of
discussion.startPrivateDiscussionWithUsers
intodiscussion.addMoreThanTwoUserRecipients
with a migration? The challenge is that if users forget to run the migrations they will encounter the issue anyway, and the migration needs to do nothing if run later, but has no way of knowing if the lack of value is indication of a choice for "admin" or that no choice was made...I think there are also edge cases regarding leaving. You could add a "third" recipient at the same time as you remove yourself, which still meets the 2 recipients rule.
This PR was sponsored by a client.
Confirmed
composer test
).