-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Properly name privacy settings for display name and avatar #12488
Conversation
This setting was introduced with f489fd9 in #1946. I could not find any hint that this was ever working local only. Thus this should be changed to "private" to properly reflect what it is doing. Background is that the properties aren't synced to the system address book if the setting is "private". Fixes #10317 Signed-off-by: Morris Jobke <[email protected]>
Yeah the thing is your displayname and avatar are still shared in the instance (search on the share API, talk, etc.) |
We just received complains, that the contacts menu does not show the user name in those cases. That is because there the system address book is used instead of the local user backend. :/ |
I think @nickvergessen is right. Avatars and Display names are always internally visible |
Not really private ... in some places not really local as expected - what do you think about restricted as term 🤔 |
Yes, but I think this is a "bug" of the contacts menu. It should work like for example the share dialog which can also find and show the display name and avatar, even if it is set to private. Changing the label of the settings doesn't solve the problem. |
The problem here is that the contacts menu uses the system address book and we need to find a way to determine which of the users are local ones and that then the user backend needs to be checked for further details. So this is more an issue of a proper integration of the many different backends into each other: Something like #4493 We also discussed about this at the conf - cc @jancborchardt @daita @skjnldsv @rullzer |
The problem here is, that the system address book was never meant to be used internally but only to sync between trusted servers. That's why it doesn't contain the display name / avatar when it is set to private, otherwise we would sync it to the trusted servers. All internal operations should always talk directly to the user management. That's why I believe that it is a bug in how the contacts menu was implemented and it should use the internal user management instead, like any other functionality in Nextcloud. |
I know - but it is also queried by the contact menu to show exactly those users as well: the ones from another system. 🤔 Because otherwise the menu would only show internal users and the sync of address books doesn't make any sense at all. |
Yes, the menu needs to query multiple sources. The local user management, address books of the user, the address books synced from trusted servers,... etc. But the local users should be looked up in the internal user management. Basically exactly how the share API does it. There we also find local users over the local user managements, find users from trusted servers over synced global address books and personal users over the user specific address books. I don't know the exact implementation details out of my head. But looking at the sharing code should give an idea how it should be implemented for the contact menu as well |
But aren't then local users shown twice because they are also in the system address book or is there one for local users and one per trusted server? |
in the share dialog it works without showing users twice, so it should also work here. As said, for details we need to check how it is implemented in the share API |
This doesn't work because as you can see at the description "contacts" includes trusted servers and I think there should be a difference between going full public (trusted servers and lookup server) and only make it visible to "trusted contacts". |
This setting was introduced with f489fd9 in #1946. I could not find any hint that this was ever working local only. Thus this should be changed to "private" to properly reflect what it is doing.
Background is that the properties aren't synced to the system address book if the setting is "private".
Fixes #10317