Open nickvergessen opened 1 year ago
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.
start_group_conversation
and start_public_conversation
X-Nextcloud-Talk-Hash
and use both new settings to generate the hashstart_conversations
is returned as initial statecan-create-public-conversation
and can-create-group-conversation
@nickvergessen can you verify that these steps are ok?
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.
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
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.
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: