revert: pr 32541 (#32814)

This reverts commit 06707d86e1.
pull/32777/head^2
Debdut Chakraborty 1 year ago committed by GitHub
parent 6c45b7326d
commit 47819cd427
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 5
      .changeset/cuddly-ravens-swim.md
  2. 22
      apps/meteor/app/settings/server/SettingsRegistry.ts

@ -1,5 +0,0 @@
---
"@rocket.chat/meteor": patch
---
Fixed an issue where adding `OVERWRITE_SETTING_` for any setting wasn't immediately taking effect sometimes, and needed a server restart to reflect.

@ -138,22 +138,17 @@ export class SettingsRegistry {
const settingFromCodeOverwritten = overwriteSetting(settingFromCode);
const settingOverwrittenDefault = overrideSetting(settingFromCode);
const settingStored = this.store.getSetting(_id);
const settingStoredOverwritten = settingStored && overwriteSetting(settingStored);
const isOverwritten = settingFromCode !== settingFromCodeOverwritten || (settingStored && settingStored !== settingStoredOverwritten);
const updatedSettingAfterApplyingOverwrite = isOverwritten ? settingFromCodeOverwritten : settingOverwrittenDefault;
try {
validateSetting(settingFromCode._id, settingFromCode.type, settingFromCode.value);
} catch (e) {
IS_DEVELOPMENT && SystemLogger.error(`Invalid setting code ${_id}: ${(e as Error).message}`);
}
const isOverwritten = settingFromCode !== settingFromCodeOverwritten || (settingStored && settingStored !== settingStoredOverwritten);
const { _id: _, ...settingProps } = settingFromCodeOverwritten;
if (settingStored && !compareSettings(settingStored, settingFromCodeOverwritten)) {
@ -171,9 +166,6 @@ export class SettingsRegistry {
})();
await this.saveUpdatedSetting(_id, updatedProps, removedKeys);
this.store.set(updatedSettingAfterApplyingOverwrite);
return;
}
@ -183,8 +175,6 @@ export class SettingsRegistry {
const removedKeys = Object.keys(settingStored).filter((key) => !['_updatedAt'].includes(key) && !overwrittenKeys.includes(key));
await this.saveUpdatedSetting(_id, settingProps, removedKeys);
this.store.set(updatedSettingAfterApplyingOverwrite);
}
return;
}
@ -198,9 +188,13 @@ export class SettingsRegistry {
return;
}
await this.model.insertOne(updatedSettingAfterApplyingOverwrite); // no need to emit unless we remove the oplog
const settingOverwrittenDefault = overrideSetting(settingFromCode);
const setting = isOverwritten ? settingFromCodeOverwritten : settingOverwrittenDefault;
await this.model.insertOne(setting); // no need to emit unless we remove the oplog
this.store.set(updatedSettingAfterApplyingOverwrite);
this.store.set(setting);
}
/*

Loading…
Cancel
Save