Fix config override of other settings levels (#12593)

* Make config override other settings levels and add tests

* fix documentation

* lint

* Use a const for finalLevel.

* respect the explicit parameter

* Use supportedLevelsAreOrdered for config overrides rather than a separate setting.

* Fix typos

* Fix mock in UserSetttingsDialog-test

* Special case disabling of setting tos use config overrides.

* remove logs
This commit is contained in:
David Langley 2024-06-14 12:00:30 +01:00 committed by GitHub
parent 8e200dc4ac
commit d6b9e2aa8a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 118 additions and 70 deletions

View file

@ -62,6 +62,13 @@ export default class SettingsFlag extends React.Component<IProps, IState> {
}
private getSettingValue(): boolean {
// If a level defined in props is overridden by a level at a high presedence, it gets disabled
// and we should show the overridding value.
if (
SettingsStore.settingIsOveriddenAtConfigLevel(this.props.name, this.props.roomId ?? null, this.props.level)
) {
return !!SettingsStore.getValue(this.props.name);
}
return !!SettingsStore.getValueAt(
this.props.level,
this.props.name,