diff --git a/patches/feat-announcements.patch b/patches/feat-announcements.patch index cafc7e3..6710cc9 100644 --- a/patches/feat-announcements.patch +++ b/patches/feat-announcements.patch @@ -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; + private announcementList?: GettingStartedIndexList; + 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> { + const renderAnnouncement = (announcement: AnnouncementEntry) => { diff --git a/patches/feat-ext-unsafe.patch b/patches/feat-ext-unsafe.patch new file mode 100644 index 0000000..cee3557 --- /dev/null +++ b/patches/feat-ext-unsafe.patch @@ -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(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'] ++ }, + } diff --git a/patches/version-1-update.patch b/patches/version-1-update.patch index f86e659..627e0ea 100644 --- a/patches/version-1-update.patch +++ b/patches/version-1-update.patch @@ -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(); + } +