Merge branch 'develop' into feature/disable-questions

This commit is contained in:
Pieter Vander Vennet 2024-10-09 00:01:38 +02:00
commit 7cd886b082

View file

@ -62,6 +62,9 @@ export class OsmPreferences {
this.seenKeys = Object.keys(prefs)
const legacy = OsmPreferences.getLegacyCombinedItems(prefs)
const merged = OsmPreferences.mergeDict(prefs)
if(Object.keys(legacy).length > 0){
await this.removeLegacy(legacy)
}
for (const key in merged) {
this.initPreference(key, prefs[key])
}
@ -119,6 +122,15 @@ export class OsmPreferences {
this.removeAllWithPrefix("")
}
public async removeLegacy(legacyDict: Record<string, string>) {
for (const k in legacyDict) {
const v = legacyDict[k]
console.log("Upgrading legacy preference",k )
await this.removeAllWithPrefix(k)
this.osmConnection.getPreference(k).set(v)
}
}
/**
*
* OsmPreferences.mergeDict({abc: "123", def: "123", "def:0": "456", "def:1":"789"}) // => {abc: "123", def: "123456789"}
@ -140,6 +152,7 @@ export class OsmPreferences {
return newDict
}
/**
* Gets all items which have a 'combined'-string, the legacy long preferences
*
@ -170,11 +183,10 @@ export class OsmPreferences {
} while (v !== undefined)
merged[key] = str
}
return merged
}
/**
* Bulk-downloads all preferences
* @private
@ -242,6 +254,7 @@ export class OsmPreferences {
while (v.length > 0) {
await this.uploadKeyDirectly(`${k}:${i}`, v.slice(0, 255))
v = v.slice(255)
i++
}
}
@ -333,12 +346,5 @@ export class OsmPreferences {
}
}
getExistingPreference(key: string, defaultValue: undefined, prefix: string): UIEventSource<string> {
if (prefix) {
key = prefix + key
}
key = key.replace(/[:/"' {}.%\\]/g, "")
return this.preferences[key]
}
}