fix: add property to disable extra connection (#2335)

This commit is contained in:
Baptiste Augrain
2025-04-20 23:58:17 +02:00
parent ab6dd4186b
commit 68a4e26ded
3 changed files with 52 additions and 15 deletions

View File

@@ -1,21 +1,22 @@
diff --git a/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts b/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts
index c581ac0..f11c0f0 100644
index e025130..f42db8d 100644
--- a/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts
+++ b/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts
@@ -319,2 +319,8 @@ configurationRegistry.registerConfiguration({
@@ -343,2 +343,9 @@ configurationRegistry.registerConfiguration({
},
+ 'workbench.welcomePage.extraAnnouncements': {
+ scope: ConfigurationScope.MACHINE,
+ type: 'boolean',
+ default: true,
+ description: localize('workbench.welcomePage.extraAnnouncements', "When enabled, the get started page loads additional announcements from !!APP_NAME!!'s repository.")
+ description: localize('workbench.welcomePage.extraAnnouncements', "When enabled, the get started page loads additional announcements from !!APP_NAME!!'s repository."),
+ tags: ['usesOnlineServices']
+ },
'workbench.startupEditor': {
diff --git a/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.ts b/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.ts
index 664c55b..43f9e2e 100644
index 01778b2..615828d 100644
--- a/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.ts
+++ b/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.ts
@@ -113,4 +113,8 @@ type GettingStartedActionEvent = {
@@ -117,4 +117,8 @@ type GettingStartedActionEvent = {
type RecentEntry = (IRecentFolder | IRecentWorkspace) & { id: string };
+type AnnouncementEntry = { id: string, title: string, url: string };
@@ -24,26 +25,26 @@ index 664c55b..43f9e2e 100644
+const BUILTIN_ANNOUNCEMENTS: AnnouncementEntry[] = [/* BUILTIN_ANNOUNCEMENTS */];
+
export class GettingStartedPage extends EditorPane {
@@ -149,2 +153,4 @@ export class GettingStartedPage extends EditorPane {
@@ -154,2 +158,4 @@ export class GettingStartedPage extends EditorPane {
private gettingStartedList?: GettingStartedIndexList<IResolvedWalkthrough>;
+ private announcementList?: GettingStartedIndexList<AnnouncementEntry>;
+ private announcementData?: AnnouncementEntry[];
@@ -812,2 +818,3 @@ export class GettingStartedPage extends EditorPane {
@@ -880,2 +886,3 @@ export class GettingStartedPage extends EditorPane {
const gettingStartedList = this.buildGettingStartedWalkthroughsList();
+ const announcementList = await this.buildAnnouncementList();
@@ -822,3 +829,3 @@ export class GettingStartedPage extends EditorPane {
@@ -890,3 +897,3 @@ export class GettingStartedPage extends EditorPane {
this.container.classList.remove('noWalkthroughs');
- reset(rightColumn, gettingStartedList.getDomElement());
+ reset(rightColumn, gettingStartedList.getDomElement(), announcementList.getDomElement());
}
@@ -826,3 +833,3 @@ export class GettingStartedPage extends EditorPane {
@@ -894,3 +901,3 @@ export class GettingStartedPage extends EditorPane {
this.container.classList.add('noWalkthroughs');
- reset(rightColumn);
+ reset(rightColumn, announcementList.getDomElement());
}
@@ -978,2 +985,55 @@ export class GettingStartedPage extends EditorPane {
@@ -1047,2 +1054,55 @@ export class GettingStartedPage extends EditorPane {
+ private async buildAnnouncementList(): Promise<GettingStartedIndexList<AnnouncementEntry>> {
+ const renderAnnouncement = (announcement: AnnouncementEntry) => {

View File

@@ -0,0 +1,27 @@
diff --git a/src/vs/platform/extensionManagement/common/extensionGalleryService.ts b/src/vs/platform/extensionManagement/common/extensionGalleryService.ts
index 5974768..876f779 100644
--- a/src/vs/platform/extensionManagement/common/extensionGalleryService.ts
+++ b/src/vs/platform/extensionManagement/common/extensionGalleryService.ts
@@ -1788,2 +1788,8 @@ export abstract class AbstractExtensionGalleryService implements IExtensionGalle
+ const excludeUnsafes = this.configurationService.getValue('extensions.excludeUnsafes') ?? true;
+
+ if (!excludeUnsafes) {
+ return { malicious: [], deprecated: {}, search: [] };
+ }
+
const context = await this.requestService.request({
diff --git a/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts b/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts
index 4c44d3b..fe989e0 100644
--- a/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts
+++ b/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts
@@ -294,2 +294,9 @@ Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Configuration)
},
+ 'extensions.excludeUnsafes': {
+ scope: ConfigurationScope.MACHINE,
+ type: 'boolean',
+ default: true,
+ description: localize('extensionsExcludeUnsafes', "When enabled, it will download and cache the list of malicious and deprecated extensions. It's recommended to leave it enabled."),
+ tags: ['usesOnlineServices']
+ },
}

View File

@@ -67,7 +67,7 @@ index a1ec3fe..f954720 100644
+ }
}
diff --git a/src/vs/platform/update/electron-main/updateService.darwin.ts b/src/vs/platform/update/electron-main/updateService.darwin.ts
index 57398fb..a65965e 100644
index 57398fb..fddd521 100644
--- a/src/vs/platform/update/electron-main/updateService.darwin.ts
+++ b/src/vs/platform/update/electron-main/updateService.darwin.ts
@@ -15,3 +15,3 @@ import { ILogService } from '../../log/common/log.js';
@@ -80,7 +80,7 @@ index 57398fb..a65965e 100644
+import { CancellationToken } from '../../../base/common/cancellation.js';
+import * as semver from 'semver';
@@ -76,9 +78,3 @@ export class DarwinUpdateService extends AbstractUpdateService implements IRelau
@@ -76,17 +78,3 @@ export class DarwinUpdateService extends AbstractUpdateService implements IRelau
protected buildUpdateFeedUrl(quality: string): string | undefined {
- let assetID: string;
- if (!this.productService.darwinUniversalAssetId) {
@@ -89,9 +89,17 @@ index 57398fb..a65965e 100644
- assetID = this.productService.darwinUniversalAssetId;
- }
- const url = createUpdateURL(assetID, quality, this.productService);
+ const url = createUpdateURL(this.productService, quality, process.platform, process.arch);
try {
@@ -94,4 +90,35 @@ export class DarwinUpdateService extends AbstractUpdateService implements IRelau
- try {
- electron.autoUpdater.setFeedURL({ url });
- } catch (e) {
- // application is very likely not signed
- this.logService.error('Failed to set update feed URL', e);
- return undefined;
- }
- return url;
+ return createUpdateURL(this.productService, quality, process.platform, process.arch);
}
@@ -94,4 +82,36 @@ export class DarwinUpdateService extends AbstractUpdateService implements IRelau
protected doCheckForUpdates(context: any): void {
+ if (!this.url) {
+ return;
@@ -116,6 +124,7 @@ index 57398fb..a65965e 100644
+ this.setState(State.Idle(UpdateType.Setup));
+ }
+ else {
+ electron.autoUpdater.setFeedURL({ url: this.url as string });
+ electron.autoUpdater.checkForUpdates();
+ }
+