nextcloud / spreed

🗨️ Nextcloud Talk – chat, video & audio calls for Nextcloud
https://nextcloud.com/talk
GNU Affero General Public License v3.0
1.63k stars 437 forks source link

Allow to limit who can create public and open conversations #8513

Open nickvergessen opened 1 year ago

nickvergessen commented 1 year ago

How to use GitHub


Is your feature request related to a problem? Please describe. In some situations (schools) it might be okay for users to be able to create group conversations but not public/open conversations.

Currently there is only a single setting:

We would need to split this into 2:

vitormattos commented 1 year ago

Context

Now we have the appvalue start_conversations that as described on settings.md is List of group ids that are allowed to create conversations.

Looking the code, the frontend add the group ids to this app setting to allow the members of group.

When a group is deleted, this app setting is updated and the group id is removed from list.

The backend return this appsetting as initial state to all users and guests and in administration settings.

Other point that this value is used is to return a hash of talk app on the header of request on key X-Nextcloud-Talk-Hash when the user get the rooms list and the data of a single room. The hash is generated with other settings. But, I didn't found a place that this hash is validated, I only found the methods setNextcloudTalkHash and updateTalkVersionHash but both didn't validate and throw an error or stop a flow.

I also identified a config (capability): conversation->can-create that return a boolean value to the authenticated user.

To do

@nickvergessen can you verify that these steps are ok?

nickvergessen commented 1 year ago

But, I didn't found a place that this hash is validated

The hash is used by mobile clients and the frontend to decide whether the user needs to do a page reload when switching conversations, joining calls, etc.

thoys1 commented 12 months ago

Can we extend the feature request to prohibit creating private chats at all? This would be a necessary feature for schools. Students should be allowed to write in groups created by the teacher, but only special user groups should be allowed to write private messages to group members.

Thank you very much

Franz-Heinz commented 8 months ago

It would be great to get the possibility to deny public/open conversations, soon. In order to have an easy option to configure it, I would suggest that in addition to the possibility to limit this to certain groups there should be a checkbox for deactivating public/open conversations with one click for the whole instance.

Certainly it would be great if there was a checkbox like "only be able to create group conversations with groups you are a member of", too.

Of course there might be better ways to phrase this features.