提交 009703b5 编写于 作者: S Sandeep Somavarapu

Fix #99699

上级 a239c602
...@@ -605,7 +605,7 @@ export class ExtensionGalleryService implements IExtensionGalleryService { ...@@ -605,7 +605,7 @@ export class ExtensionGalleryService implements IExtensionGalleryService {
return Promise.resolve(''); return Promise.resolve('');
} }
getAllVersions(extension: IGalleryExtension, compatible: boolean): Promise<IGalleryExtensionVersion[]> { async getAllVersions(extension: IGalleryExtension, compatible: boolean): Promise<IGalleryExtensionVersion[]> {
let query = new Query() let query = new Query()
.withFlags(Flags.IncludeVersions, Flags.IncludeFiles, Flags.IncludeVersionProperties) .withFlags(Flags.IncludeVersions, Flags.IncludeFiles, Flags.IncludeVersionProperties)
.withPage(1, 1) .withPage(1, 1)
...@@ -617,19 +617,24 @@ export class ExtensionGalleryService implements IExtensionGalleryService { ...@@ -617,19 +617,24 @@ export class ExtensionGalleryService implements IExtensionGalleryService {
query = query.withFilter(FilterType.ExtensionName, extension.identifier.id); query = query.withFilter(FilterType.ExtensionName, extension.identifier.id);
} }
return this.queryGallery(query, CancellationToken.None).then(({ galleryExtensions }) => { const result: IGalleryExtensionVersion[] = [];
if (galleryExtensions.length) { const { galleryExtensions } = await this.queryGallery(query, CancellationToken.None);
if (compatible) { if (galleryExtensions.length) {
return Promise.all(galleryExtensions[0].versions.map(v => this.getEngine(v).then(engine => isEngineValid(engine, this.productService.version) ? v : null))) if (compatible) {
.then(versions => versions await Promise.all(galleryExtensions[0].versions.map(async v => {
.filter(v => !!v) let engine: string | undefined;
.map(v => ({ version: v!.version, date: v!.lastUpdated }))); try {
} else { engine = await this.getEngine(v);
return galleryExtensions[0].versions.map(v => ({ version: v.version, date: v.lastUpdated })); } catch (error) { /* Ignore error and skip version */ }
} if (engine && isEngineValid(engine, this.productService.version)) {
result.push({ version: v!.version, date: v!.lastUpdated });
}
}));
} else {
result.push(...galleryExtensions[0].versions.map(v => ({ version: v.version, date: v.lastUpdated })));
} }
return []; }
}); return result;
} }
private getAsset(asset: IGalleryExtensionAsset, options: IRequestOptions = {}, token: CancellationToken = CancellationToken.None): Promise<IRequestContext> { private getAsset(asset: IGalleryExtensionAsset, options: IRequestOptions = {}, token: CancellationToken = CancellationToken.None): Promise<IRequestContext> {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册