mirror of
https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk.git
synced 2025-12-06 07:21:36 +01:00
fix(element): Feature toggle for user controlled updates of their Element display name; new default for generating MatrixID, check docs/migrations.md for details.
This commit is contained in:
@@ -8,7 +8,8 @@ SPDX-License-Identifier: Apache-2.0
|
||||
* [Disclaimer](#disclaimer)
|
||||
* [Releases upgrades](#releases-upgrades)
|
||||
* [From v0.9.0](#from-v090)
|
||||
* [Manual interaction](#manual-interaction)
|
||||
* [Changed openDesk defaults](#changed-opendesk-defaults)
|
||||
* [MatrixID localpart update](#matrixid-localpart-update)
|
||||
* [Fileshare configurability](#fileshare-configurability)
|
||||
* [Automated migrations](#automated-migrations)
|
||||
* [Local Postfix as Relay](#local-postfix-as-relay)
|
||||
@@ -34,7 +35,40 @@ Limitations:
|
||||
|
||||
## From v0.9.0
|
||||
|
||||
### Manual interaction
|
||||
### Changed openDesk defaults
|
||||
|
||||
#### MatrixID localpart update
|
||||
|
||||
Until 0.9.0 openDesk used the LDAP entryUUID of a user to generate the user's MatrixID. Due to restrictions of the
|
||||
Matrix protocol an update of a MatrixID is not possible, therefore it was technically convenient to use the UUID
|
||||
as it is immutable (see https://de.wikipedia.org/wiki/Universally_Unique_Identifier for more details on UUIDs.)
|
||||
|
||||
From the user experience perspective that was a bad approach, so from now on by default the username, that
|
||||
is also used for logging into openDesk, is used to define the localpart of the MatrixID.
|
||||
|
||||
For existing installations: The changed setting only affects users that login to Element the first time. Existing
|
||||
user accounts will not be harmed. If you want existing users to get new MatrixIDs based on the new setting, you
|
||||
need to update their external ID in Synapse and deactivate the old user afterwards. The user will get a new
|
||||
Matrix account from the scratch, losing the existing contacts, chats and rooms.
|
||||
|
||||
The following Admin API calls are helpful:
|
||||
- GET /_synapse/admin/v2/users/@<entryuuid>:<matrixdomain> get the user's existing external_id (auth_provider: "oidc")
|
||||
- PUT /_synapse/admin/v2/users/@<entryuuid>:<matrixdomain> update user's external_id with JSON payload:
|
||||
`{ "external_ids": [ { "auth_provider": "oidc", "external_id": "<old_id>+deprecated" } ] }`
|
||||
- POST /_synapse/admin/v1/deactivate/@<entryuuid>:<matrixdomain> deactivate old user with JSON payload:
|
||||
`{ "erase": true }`
|
||||
|
||||
For more details check the Admin API documentation:
|
||||
https://element-hq.github.io/synapse/latest/usage/administration/admin_api/index.html
|
||||
|
||||
You can enforce the old standard with the following setting:
|
||||
```
|
||||
functional:
|
||||
chat:
|
||||
matrix:
|
||||
profile:
|
||||
useImmutableIdentifierForLocalpart: true
|
||||
```
|
||||
|
||||
#### Fileshare configurability
|
||||
|
||||
|
||||
@@ -53,6 +53,9 @@ configuration:
|
||||
presence:
|
||||
enabled: {{ .Values.functional.dataProtection.matrixPresence.enabled }}
|
||||
|
||||
profile:
|
||||
allowUsersToUpdateDisplayname: {{ .Values.functional.chat.matrix.profile.allowUsersToUpdateDisplayname }}
|
||||
|
||||
smtp:
|
||||
senderAddress: "{{ .Values.smtp.localpartNoReply }}@{{ .Values.global.domain }}"
|
||||
host: {{ printf "%s.%s.svc.%s" "postfix" (.Values.postfix.namespace | default .Release.Namespace) .Values.cluster.networking.domain | quote }}
|
||||
@@ -66,6 +69,7 @@ configuration:
|
||||
clientId: "opendesk-matrix"
|
||||
clientSecret: {{ .Values.secrets.keycloak.clientSecret.matrix | quote }}
|
||||
issuer: "https://{{ .Values.global.hosts.keycloak }}.{{ .Values.global.domain }}/realms/{{ .Values.platform.realm }}"
|
||||
matrixIdLocalpart: {{ if .Values.functional.chat.matrix.profile.useImmutableIdentifierForLocalpart }}"opendesk_useruuid"{{ else }}"opendesk_username"{{ end }}
|
||||
scopes:
|
||||
- "openid"
|
||||
- "opendesk-matrix-scope"
|
||||
|
||||
@@ -90,7 +90,7 @@ charts:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/platform-development/charts/opendesk-element"
|
||||
name: "opendesk-element"
|
||||
version: "3.3.2"
|
||||
version: "3.4.0"
|
||||
verify: true
|
||||
elementWellKnown:
|
||||
# providerCategory: "Platform"
|
||||
@@ -100,7 +100,7 @@ charts:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/platform-development/charts/opendesk-element"
|
||||
name: "opendesk-well-known"
|
||||
version: "3.3.2"
|
||||
version: "3.4.0"
|
||||
verify: true
|
||||
home:
|
||||
# providerCategory: "Platform"
|
||||
@@ -192,7 +192,7 @@ charts:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/platform-development/charts/opendesk-element"
|
||||
name: "opendesk-matrix-user-verification-service"
|
||||
version: "3.3.2"
|
||||
version: "3.4.0"
|
||||
verify: true
|
||||
memcached:
|
||||
# providerCategory: "Community"
|
||||
@@ -380,7 +380,7 @@ charts:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/platform-development/charts/opendesk-element"
|
||||
name: "opendesk-synapse"
|
||||
version: "3.3.2"
|
||||
version: "3.4.0"
|
||||
verify: true
|
||||
synapseCreateAccount:
|
||||
# providerCategory: "Platform"
|
||||
@@ -390,7 +390,7 @@ charts:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/platform-development/charts/opendesk-element"
|
||||
name: "opendesk-synapse-create-account"
|
||||
version: "3.3.2"
|
||||
version: "3.4.0"
|
||||
verify: true
|
||||
synapseWeb:
|
||||
# providerCategory: "Platform"
|
||||
@@ -400,7 +400,7 @@ charts:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/platform-development/charts/opendesk-element"
|
||||
name: "opendesk-synapse-web"
|
||||
version: "3.3.2"
|
||||
version: "3.4.0"
|
||||
verify: true
|
||||
xwiki:
|
||||
# providerCategory: "Supplier"
|
||||
|
||||
@@ -59,4 +59,17 @@ functional:
|
||||
# Ref.: https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html#presence
|
||||
enabled: false
|
||||
|
||||
chat:
|
||||
matrix:
|
||||
profile:
|
||||
# Once connected with a user that user's MatrixID is rarely checked by their communication partners, as the
|
||||
# display name is used to see whom they are communicating with. Not allowing users to change their
|
||||
# own display name reduces the risk of identity fraud.
|
||||
# To get the display name updated from the central identity and access management you have to have the Synapse
|
||||
# enterprise feature "groupsync" configured.
|
||||
allowUsersToUpdateDisplayname: true
|
||||
|
||||
# If the LDAP entryUUID should be used for the localpart of user's MatrixIDs following setting must be `true`.
|
||||
useImmutableIdentifierForLocalpart: false
|
||||
|
||||
...
|
||||
|
||||
Reference in New Issue
Block a user