提交 d591cb7e 编写于 作者: J Joao Moreno

fixes #80054

上级 a00cb247
......@@ -28,7 +28,6 @@ const FIVE_MINUTES = 5 * 60 * 1000;
const THIRTY_SECONDS = 30 * 1000;
const URL_TO_HANDLE = 'extensionUrlHandler.urlToHandle';
const CONFIRMED_EXTENSIONS_CONFIGURATION_KEY = 'extensions.confirmedUriHandlerExtensionIds';
const CONFIRMED_EXTENSIONS_STORAGE_KEY = 'extensionUrlHandler.confirmedExtensions';
function isExtensionId(value: string): boolean {
return /^[a-z0-9][a-z0-9\-]*\.[a-z0-9][a-z0-9\-]*$/i.test(value);
......@@ -128,7 +127,7 @@ class ExtensionUrlHandler implements IExtensionUrlHandler, IURLHandler {
}
if (result.checkboxChecked) {
this.addConfirmedExtensionIdToStorage(extensionId);
await this.addConfirmedExtensionIdToStorage(extensionId);
}
}
......@@ -290,10 +289,8 @@ class ExtensionUrlHandler implements IExtensionUrlHandler, IURLHandler {
}
private getConfirmedExtensionIds(): Set<string> {
const ids = [
...this.getConfirmedExtensionIdsFromStorage(),
...this.getConfirmedExtensionIdsFromConfiguration(),
].map(extensionId => ExtensionIdentifier.toKey(extensionId));
const ids = this.getConfirmedExtensionIdsFromConfiguration()
.map(extensionId => ExtensionIdentifier.toKey(extensionId));
return new Set(ids);
}
......@@ -308,26 +305,12 @@ class ExtensionUrlHandler implements IExtensionUrlHandler, IURLHandler {
return confirmedExtensionIds;
}
private getConfirmedExtensionIdsFromStorage(): Array<string> {
const confirmedExtensionIdsJson = this.storageService.get(CONFIRMED_EXTENSIONS_STORAGE_KEY, StorageScope.GLOBAL, '[]');
try {
return JSON.parse(confirmedExtensionIdsJson);
} catch (err) {
return [];
}
}
private async addConfirmedExtensionIdToStorage(extensionId: string): Promise<void> {
const confirmedExtensionIds = this.configurationService.getValue<Array<string>>(CONFIRMED_EXTENSIONS_CONFIGURATION_KEY);
const set = new Set(confirmedExtensionIds);
set.add(extensionId);
private addConfirmedExtensionIdToStorage(extensionId: string): void {
const existingConfirmedExtensionIds = this.getConfirmedExtensionIdsFromStorage();
this.storageService.store(
CONFIRMED_EXTENSIONS_STORAGE_KEY,
JSON.stringify([
...existingConfirmedExtensionIds,
ExtensionIdentifier.toKey(extensionId),
]),
StorageScope.GLOBAL,
);
await this.configurationService.updateValue(CONFIRMED_EXTENSIONS_CONFIGURATION_KEY, [...set.values()]);
}
dispose(): void {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册