You've already forked joplin
mirror of
https://github.com/laurent22/joplin.git
synced 2025-07-16 00:14:34 +02:00
Desktop: Fixes #8143: Fixes crash when using multiple profiles along with certain plugins
This commit is contained in:
@ -313,6 +313,7 @@ class Setting extends BaseModel {
|
||||
private static fileHandler_: FileHandler = null;
|
||||
private static rootFileHandler_: FileHandler = null;
|
||||
private static settingFilename_: string = 'settings.json';
|
||||
private static buildInMetadata_: SettingItems = null;
|
||||
|
||||
public static tableName() {
|
||||
return 'settings';
|
||||
@ -407,7 +408,7 @@ class Setting extends BaseModel {
|
||||
return output;
|
||||
};
|
||||
|
||||
this.metadata_ = {
|
||||
this.buildInMetadata_ = {
|
||||
'clientId': {
|
||||
value: '',
|
||||
type: SettingItemType.String,
|
||||
@ -1697,6 +1698,8 @@ class Setting extends BaseModel {
|
||||
|
||||
};
|
||||
|
||||
this.metadata_ = { ...this.buildInMetadata_ };
|
||||
|
||||
this.metadata_ = Object.assign(this.metadata_, this.customMetadata_);
|
||||
|
||||
if (this.constants_.env === Env.Dev) this.validateMetadata(this.metadata_);
|
||||
@ -1710,6 +1713,10 @@ class Setting extends BaseModel {
|
||||
}
|
||||
}
|
||||
|
||||
public static isBuiltinKey(key: string): boolean {
|
||||
return key in this.buildInMetadata_;
|
||||
}
|
||||
|
||||
public static customCssFilePath(filename: string): string {
|
||||
return `${this.value('rootProfileDir')}/${filename}`;
|
||||
}
|
||||
@ -2256,7 +2263,7 @@ class Setting extends BaseModel {
|
||||
|
||||
public static enumOptions(key: string) {
|
||||
const metadata = this.metadata();
|
||||
if (!metadata[key]) throw new Error(`Unknown key: ${key}`);
|
||||
if (!metadata[key]) throw new JoplinError(`Unknown key: ${key}`, 'unknown_key');
|
||||
if (!metadata[key].options) throw new Error(`No options for: ${key}`);
|
||||
return metadata[key].options();
|
||||
}
|
||||
|
Reference in New Issue
Block a user