@codingame/monaco-vscode-extensions-service-override 37.1.0 → 37.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +2 -17
- package/package.json +3 -3
- package/service-override/tools/missingMainThreadCustomers.d.ts +1 -0
- package/service-override/tools/missingMainThreadCustomers.js +274 -0
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagementCLI.js +37 -37
- package/vscode/src/vs/workbench/api/browser/mainThreadAgentEditorComments.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadAgentEditorComments.js +3 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadAiEmbeddingVector.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadAiEmbeddingVector.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadAiRelatedInformation.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadAiRelatedInformation.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadAiSettingsSearch.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadAiSettingsSearch.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +32 -32
- package/vscode/src/vs/workbench/api/browser/mainThreadBrowserTunnelProxy.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadBrowserTunnelProxy.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadBrowsers.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadBrowsers.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadBulkEdits.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadBulkEdits.js +7 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadCLICommands.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadChatOutputRenderer.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadClipboard.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadClipboard.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadCodeInsets.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadCodeInsets.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadCommands.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadCommands.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadComments.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadConfiguration.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadConfiguration.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadConsole.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadConsole.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadDataChannels.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadDataChannels.js +9 -9
- package/vscode/src/vs/workbench/api/browser/mainThreadDebugService.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadDebugService.js +7 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadDecorations.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadDecorations.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadDiagnostics.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadDiagnostics.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadDialogs.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadDialogs.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadDocumentContentProviders.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadDocumentContentProviders.js +4 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadDocumentDiff.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadDocumentDiff.js +5 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +9 -9
- package/vscode/src/vs/workbench/api/browser/mainThreadDownloadService.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadDownloadService.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadEditor.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadEditor.js +5 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadEditors.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadEditors.js +10 -10
- package/vscode/src/vs/workbench/api/browser/mainThreadEmbeddings.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadEmbeddings.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadErrors.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +13 -13
- package/vscode/src/vs/workbench/api/browser/mainThreadFileSystem.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadFileSystem.js +3 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +21 -21
- package/vscode/src/vs/workbench/api/browser/mainThreadGitExtensionService.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadGitExtensionService.js +5 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadInteractive.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadInteractive.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadLabelService.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadLabelService.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.js +16 -16
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguages.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguages.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadLocalization.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadLocalization.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadLogService.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadLogService.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadManagedSockets.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadManagedSockets.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +7 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadMeteredConnection.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadMeteredConnection.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadOutputService.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadOutputService.js +4 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadPower.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadPower.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadProfileContentHandlers.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadProfileContentHandlers.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadProgress.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadQuickDiff.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadQuickDiff.js +3 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadQuickOpen.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadQuickOpen.js +4 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadRemoteConnectionData.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadRemoteConnectionData.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadSCM.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadSCM.js +8 -8
- package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadSearch.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadSearch.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadSecretState.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadSecretState.js +3 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadShare.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadShare.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadSpeech.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadSpeech.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadStatusBar.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadStatusBar.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadStorage.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadStorage.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadTask.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +3 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadTelemetry.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadTelemetry.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.d.ts +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.js +6 -6
- package/vscode/src/vs/workbench/api/browser/mainThreadTerminalShellIntegration.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadTerminalShellIntegration.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadTesting.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadTesting.js +13 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadTheming.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadTheming.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadTimeline.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadTimeline.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.js +14 -9
- package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +7 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +3 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadUrls.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadUrls.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviewManager.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviewManager.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviewPanels.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviewViews.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadWindow.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadWindow.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +15 -13
- package/vscode/src/vs/workbench/contrib/customEditor/common/customTextEditorModel.js +1 -1
- package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionBisect.js +25 -25
- package/vscode/src/vs/workbench/services/extensionManagement/browser/webExtensionsScannerService.js +37 -32
- package/vscode/src/vs/workbench/services/extensions/browser/extensionService.js +18 -10
- package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +55 -45
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +5 -5
- package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.js +3 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.js +4 -2
- package/vscode/src/vs/workbench/services/extensions/common/extensionsUtil.js +4 -4
- package/vscode/src/vs/workbench/services/extensions/common/lazyCreateExtensionHostManager.js +4 -2
- package/vscode/src/vs/workbench/services/themes/browser/cssExtensionPoint.js +5 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.d.ts +0 -104
- package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.js +0 -827
- package/vscode/src/vs/workbench/api/browser/mainThreadChatCodeMapper.d.ts +0 -15
- package/vscode/src/vs/workbench/api/browser/mainThreadChatCodeMapper.js +0 -71
- package/vscode/src/vs/workbench/api/browser/mainThreadChatContext.d.ts +0 -16
- package/vscode/src/vs/workbench/api/browser/mainThreadChatContext.js +0 -95
- package/vscode/src/vs/workbench/api/browser/mainThreadChatDebug.d.ts +0 -22
- package/vscode/src/vs/workbench/api/browser/mainThreadChatDebug.js +0 -286
- package/vscode/src/vs/workbench/api/browser/mainThreadChatInputNotification.d.ts +0 -10
- package/vscode/src/vs/workbench/api/browser/mainThreadChatInputNotification.js +0 -38
- package/vscode/src/vs/workbench/api/browser/mainThreadChatQuota.d.ts +0 -9
- package/vscode/src/vs/workbench/api/browser/mainThreadChatQuota.js +0 -22
- package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.d.ts +0 -130
- package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.js +0 -907
- package/vscode/src/vs/workbench/api/browser/mainThreadChatStatus.d.ts +0 -10
- package/vscode/src/vs/workbench/api/browser/mainThreadChatStatus.js +0 -28
- package/vscode/src/vs/workbench/api/browser/mainThreadDocuments.d.ts +0 -63
- package/vscode/src/vs/workbench/api/browser/mainThreadDocuments.js +0 -305
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModelTools.d.ts +0 -27
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModelTools.js +0 -167
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.d.ts +0 -46
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.js +0 -356
- package/vscode/src/vs/workbench/api/browser/mainThreadMcp.d.ts +0 -108
- package/vscode/src/vs/workbench/api/browser/mainThreadMcp.js +0 -698
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebook.d.ts +0 -22
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebook.js +0 -210
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocuments.d.ts +0 -24
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocuments.js +0 -138
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.d.ts +0 -29
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.js +0 -194
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDto.d.ts +0 -17
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDto.js +0 -128
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookEditors.d.ts +0 -27
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookEditors.js +0 -149
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookKernels.d.ts +0 -49
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookKernels.js +0 -372
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookRenderers.d.ts +0 -10
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookRenderers.js +0 -26
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.d.ts +0 -9
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +0 -43
- package/vscode/src/vs/workbench/services/extensions/common/extHostCustomers.d.ts +0 -32
- package/vscode/src/vs/workbench/services/extensions/common/extHostCustomers.js +0 -45
|
@@ -14,7 +14,7 @@ import { IRequestService } from '@codingame/monaco-vscode-api/vscode/vs/platform
|
|
|
14
14
|
import { IWorkspaceTrustManagementService, IWorkspaceTrustRequestService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspaceTrust.service';
|
|
15
15
|
import { isUntitledWorkspace } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace';
|
|
16
16
|
import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
|
|
17
|
-
import { extHostNamedCustomer } from '
|
|
17
|
+
import { extHostNamedCustomer } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extHostCustomers';
|
|
18
18
|
import { checkGlobFileExists } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/workspaceContains';
|
|
19
19
|
import { QueryBuilder } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/search/common/queryBuilder';
|
|
20
20
|
import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
|
|
@@ -96,10 +96,10 @@ let MainThreadWorkspace = class MainThreadWorkspace extends Disposable {
|
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
$updateWorkspaceFolders(extensionName, index, deleteCount, foldersToAdd) {
|
|
99
|
-
const workspaceFoldersToAdd =
|
|
99
|
+
const workspaceFoldersToAdd = foldersToAdd.map(f => ({
|
|
100
100
|
uri: URI.revive(f.uri),
|
|
101
101
|
name: f.name
|
|
102
|
-
}))
|
|
102
|
+
}));
|
|
103
103
|
this._notificationService.status(
|
|
104
104
|
this.getStatusMessage(extensionName, workspaceFoldersToAdd.length, deleteCount),
|
|
105
105
|
{
|
|
@@ -114,10 +114,10 @@ let MainThreadWorkspace = class MainThreadWorkspace extends Disposable {
|
|
|
114
114
|
const wantsToDelete = removeCount > 0;
|
|
115
115
|
if (wantsToAdd && !wantsToDelete) {
|
|
116
116
|
if (addCount === 1) {
|
|
117
|
-
message = ( localize(
|
|
117
|
+
message = ( localize(5014, "Extension '{0}' added 1 folder to the workspace", extensionName));
|
|
118
118
|
} else {
|
|
119
119
|
message = ( localize(
|
|
120
|
-
|
|
120
|
+
5015,
|
|
121
121
|
"Extension '{0}' added {1} folders to the workspace",
|
|
122
122
|
extensionName,
|
|
123
123
|
addCount
|
|
@@ -126,10 +126,10 @@ let MainThreadWorkspace = class MainThreadWorkspace extends Disposable {
|
|
|
126
126
|
}
|
|
127
127
|
else if (wantsToDelete && !wantsToAdd) {
|
|
128
128
|
if (removeCount === 1) {
|
|
129
|
-
message = ( localize(
|
|
129
|
+
message = ( localize(5016, "Extension '{0}' removed 1 folder from the workspace", extensionName));
|
|
130
130
|
} else {
|
|
131
131
|
message = ( localize(
|
|
132
|
-
|
|
132
|
+
5017,
|
|
133
133
|
"Extension '{0}' removed {1} folders from the workspace",
|
|
134
134
|
extensionName,
|
|
135
135
|
removeCount
|
|
@@ -137,7 +137,7 @@ let MainThreadWorkspace = class MainThreadWorkspace extends Disposable {
|
|
|
137
137
|
}
|
|
138
138
|
}
|
|
139
139
|
else {
|
|
140
|
-
message = ( localize(
|
|
140
|
+
message = ( localize(5018, "Extension '{0}' changed folders of the workspace", extensionName));
|
|
141
141
|
}
|
|
142
142
|
return message;
|
|
143
143
|
}
|
|
@@ -162,7 +162,7 @@ let MainThreadWorkspace = class MainThreadWorkspace extends Disposable {
|
|
|
162
162
|
const workspace = this._contextService.getWorkspace();
|
|
163
163
|
const query = this._queryBuilder.file(includeFolder ? [includeFolder] : workspace.folders, revive(options));
|
|
164
164
|
return this._searchService.fileSearch(query, token).then(result => {
|
|
165
|
-
return
|
|
165
|
+
return result.results.map(m => m.resource);
|
|
166
166
|
}, err => {
|
|
167
167
|
if (!isCancellationError(err)) {
|
|
168
168
|
return Promise.reject(err);
|
|
@@ -173,7 +173,7 @@ let MainThreadWorkspace = class MainThreadWorkspace extends Disposable {
|
|
|
173
173
|
$startTextSearch(pattern, _folder, options, requestId, token) {
|
|
174
174
|
const folder = URI.revive(_folder);
|
|
175
175
|
const workspace = this._contextService.getWorkspace();
|
|
176
|
-
const folders = folder ? [folder] :
|
|
176
|
+
const folders = folder ? [folder] : workspace.folders.map(folder => folder.uri);
|
|
177
177
|
const query = this._queryBuilder.text(pattern, folders, revive(options));
|
|
178
178
|
query._reason = "startTextSearch";
|
|
179
179
|
const onProgress = p => {
|
|
@@ -212,9 +212,11 @@ let MainThreadWorkspace = class MainThreadWorkspace extends Disposable {
|
|
|
212
212
|
if (!result.success) {
|
|
213
213
|
return [];
|
|
214
214
|
}
|
|
215
|
-
return coalesce(
|
|
216
|
-
|
|
217
|
-
|
|
215
|
+
return coalesce(
|
|
216
|
+
result.editors.map(editor => EditorResourceAccessor.getCanonicalUri(editor, {
|
|
217
|
+
supportSideBySide: SideBySideEditor.PRIMARY
|
|
218
|
+
}))
|
|
219
|
+
);
|
|
218
220
|
}
|
|
219
221
|
$saveAll(includeUntitled) {
|
|
220
222
|
return this._editorService.saveAll({
|
|
@@ -60,7 +60,7 @@ let CustomTextEditorModel = CustomTextEditorModel_1 = class CustomTextEditorMode
|
|
|
60
60
|
}));
|
|
61
61
|
this._register(extensionService.onWillStop(e => {
|
|
62
62
|
e.veto(true, ( localize(
|
|
63
|
-
|
|
63
|
+
13409,
|
|
64
64
|
"An extension provided text editor for '{0}' is still open that would close otherwise.",
|
|
65
65
|
this.name
|
|
66
66
|
)));
|
|
@@ -99,7 +99,7 @@ let ExtensionBisectService = class ExtensionBisectService {
|
|
|
99
99
|
if (this._state) {
|
|
100
100
|
throw ( new Error("invalid state"));
|
|
101
101
|
}
|
|
102
|
-
const extensionIds =
|
|
102
|
+
const extensionIds = extensions.map(ext => ext.identifier.id);
|
|
103
103
|
const newState = ( new BisectState(extensionIds, 0, extensionIds.length, 0));
|
|
104
104
|
this._storageService.store(
|
|
105
105
|
ExtensionBisectService_1._storageKey,
|
|
@@ -151,7 +151,7 @@ let ExtensionBisectUi = class ExtensionBisectUi {
|
|
|
151
151
|
ExtensionBisectUi_1 = this;
|
|
152
152
|
}
|
|
153
153
|
static {
|
|
154
|
-
this.ctxIsBisectActive =
|
|
154
|
+
this.ctxIsBisectActive = new RawContextKey("isExtensionBisectActive", false);
|
|
155
155
|
}
|
|
156
156
|
constructor(
|
|
157
157
|
contextKeyService,
|
|
@@ -169,11 +169,11 @@ let ExtensionBisectUi = class ExtensionBisectUi {
|
|
|
169
169
|
}
|
|
170
170
|
_showBisectPrompt() {
|
|
171
171
|
const goodPrompt = {
|
|
172
|
-
label: ( localize(
|
|
172
|
+
label: ( localize(21758, "I can't reproduce")),
|
|
173
173
|
run: () => this._commandService.executeCommand("extension.bisect.next", false)
|
|
174
174
|
};
|
|
175
175
|
const badPrompt = {
|
|
176
|
-
label: ( localize(
|
|
176
|
+
label: ( localize(21759, "I can reproduce")),
|
|
177
177
|
run: () => this._commandService.executeCommand("extension.bisect.next", true)
|
|
178
178
|
};
|
|
179
179
|
const stop = {
|
|
@@ -181,10 +181,10 @@ let ExtensionBisectUi = class ExtensionBisectUi {
|
|
|
181
181
|
run: () => this._commandService.executeCommand("extension.bisect.stop")
|
|
182
182
|
};
|
|
183
183
|
const message = this._extensionBisectService.disabledCount === 1 ? ( localize(
|
|
184
|
-
|
|
184
|
+
21760,
|
|
185
185
|
"Extension Bisect is active and has disabled 1 extension. Check if you can still reproduce the problem and proceed by selecting from these options."
|
|
186
186
|
)) : ( localize(
|
|
187
|
-
|
|
187
|
+
21761,
|
|
188
188
|
"Extension Bisect is active and has disabled {0} extensions. Check if you can still reproduce the problem and proceed by selecting from these options.",
|
|
189
189
|
this._extensionBisectService.disabledCount
|
|
190
190
|
));
|
|
@@ -200,7 +200,7 @@ registerAction2(class extends Action2 {
|
|
|
200
200
|
constructor() {
|
|
201
201
|
super({
|
|
202
202
|
id: "extension.bisect.start",
|
|
203
|
-
title: ( localize2(
|
|
203
|
+
title: ( localize2(21762, "Start Extension Bisect")),
|
|
204
204
|
category: Categories.Help,
|
|
205
205
|
f1: true,
|
|
206
206
|
precondition: ( ExtensionBisectUi.ctxIsBisectActive.negate()),
|
|
@@ -220,13 +220,13 @@ registerAction2(class extends Action2 {
|
|
|
220
220
|
const extensionsBisect = accessor.get(IExtensionBisectService);
|
|
221
221
|
const extensions = (await extensionManagement.getInstalled(ExtensionType.User)).filter(ext => extensionEnablementService.isEnabled(ext));
|
|
222
222
|
const res = await dialogService.confirm({
|
|
223
|
-
message: ( localize(
|
|
223
|
+
message: ( localize(21763, "Extension Bisect")),
|
|
224
224
|
detail: ( localize(
|
|
225
|
-
|
|
225
|
+
21764,
|
|
226
226
|
"Extension Bisect will use binary search to find an extension that causes a problem. During the process the window reloads repeatedly (~{0} times). Each time you must confirm if you are still seeing problems.",
|
|
227
227
|
2 + Math.log2(extensions.length) | 0
|
|
228
228
|
)),
|
|
229
|
-
primaryButton: ( localize(
|
|
229
|
+
primaryButton: ( localize(21765, "&&Start Extension Bisect"))
|
|
230
230
|
});
|
|
231
231
|
if (res.confirmed) {
|
|
232
232
|
await extensionsBisect.start(extensions);
|
|
@@ -238,7 +238,7 @@ registerAction2(class extends Action2 {
|
|
|
238
238
|
constructor() {
|
|
239
239
|
super({
|
|
240
240
|
id: "extension.bisect.next",
|
|
241
|
-
title: ( localize2(
|
|
241
|
+
title: ( localize2(21766, "Continue Extension Bisect")),
|
|
242
242
|
category: Categories.Help,
|
|
243
243
|
f1: true,
|
|
244
244
|
precondition: ExtensionBisectUi.ctxIsBisectActive
|
|
@@ -272,24 +272,24 @@ registerAction2(class extends Action2 {
|
|
|
272
272
|
return;
|
|
273
273
|
}
|
|
274
274
|
if (done.bad) {
|
|
275
|
-
await dialogService.info(( localize(
|
|
276
|
-
|
|
275
|
+
await dialogService.info(( localize(21767, "Extension Bisect")), ( localize(
|
|
276
|
+
21768,
|
|
277
277
|
"Extension Bisect is done but no extension has been identified. This might be a problem with {0}.",
|
|
278
278
|
productService.nameShort
|
|
279
279
|
)));
|
|
280
280
|
} else {
|
|
281
281
|
const res = await dialogService.confirm({
|
|
282
282
|
type: Severity.Info,
|
|
283
|
-
message: ( localize(
|
|
284
|
-
primaryButton: ( localize(
|
|
285
|
-
cancelButton: ( localize(
|
|
283
|
+
message: ( localize(21767, "Extension Bisect")),
|
|
284
|
+
primaryButton: ( localize(21769, "&&Report Issue & Continue")),
|
|
285
|
+
cancelButton: ( localize(21770, "Continue")),
|
|
286
286
|
detail: ( localize(
|
|
287
|
-
|
|
287
|
+
21771,
|
|
288
288
|
"Extension Bisect is done and has identified {0} as the extension causing the problem.",
|
|
289
289
|
done.id
|
|
290
290
|
)),
|
|
291
291
|
checkbox: {
|
|
292
|
-
label: ( localize(
|
|
292
|
+
label: ( localize(21772, "Keep this extension disabled")),
|
|
293
293
|
checked: true
|
|
294
294
|
}
|
|
295
295
|
});
|
|
@@ -310,24 +310,24 @@ registerAction2(class extends Action2 {
|
|
|
310
310
|
result
|
|
311
311
|
} = await dialogService.prompt({
|
|
312
312
|
type: Severity.Info,
|
|
313
|
-
message: ( localize(
|
|
313
|
+
message: ( localize(21773, "Extension Bisect")),
|
|
314
314
|
detail: ( localize(
|
|
315
|
-
|
|
315
|
+
21774,
|
|
316
316
|
"Extension Bisect is active and has disabled {0} extensions. Check if you can still reproduce the problem and proceed by selecting from these options.",
|
|
317
317
|
bisectService.disabledCount
|
|
318
318
|
)),
|
|
319
319
|
buttons: [{
|
|
320
|
-
label: ( localize(
|
|
320
|
+
label: ( localize(21775, "I ca&&n't reproduce")),
|
|
321
321
|
run: () => false
|
|
322
322
|
}, {
|
|
323
|
-
label: ( localize(
|
|
323
|
+
label: ( localize(21776, "I can &&reproduce")),
|
|
324
324
|
run: () => true
|
|
325
325
|
}, {
|
|
326
|
-
label: ( localize(
|
|
326
|
+
label: ( localize(21777, "&&Stop Bisect")),
|
|
327
327
|
run: () => undefined
|
|
328
328
|
}],
|
|
329
329
|
cancelButton: {
|
|
330
|
-
label: ( localize(
|
|
330
|
+
label: ( localize(21778, "&&Cancel Bisect")),
|
|
331
331
|
run: () => null
|
|
332
332
|
}
|
|
333
333
|
});
|
|
@@ -338,7 +338,7 @@ registerAction2(class extends Action2 {
|
|
|
338
338
|
constructor() {
|
|
339
339
|
super({
|
|
340
340
|
id: "extension.bisect.stop",
|
|
341
|
-
title: ( localize2(
|
|
341
|
+
title: ( localize2(21779, "Stop Extension Bisect")),
|
|
342
342
|
category: Categories.Help,
|
|
343
343
|
f1: true,
|
|
344
344
|
precondition: ExtensionBisectUi.ctxIsBisectActive
|
package/vscode/src/vs/workbench/services/extensionManagement/browser/webExtensionsScannerService.js
CHANGED
|
@@ -103,9 +103,9 @@ let WebExtensionsScannerService = class WebExtensionsScannerService extends Disp
|
|
|
103
103
|
const extensionLocations = [];
|
|
104
104
|
const extensionGalleryResources = [];
|
|
105
105
|
const extensionsToMigrate = [];
|
|
106
|
-
const customBuiltinExtensionsInfo = this.environmentService.options && Array.isArray(this.environmentService.options.additionalBuiltinExtensions) ?
|
|
106
|
+
const customBuiltinExtensionsInfo = this.environmentService.options && Array.isArray(this.environmentService.options.additionalBuiltinExtensions) ? this.environmentService.options.additionalBuiltinExtensions.map(additionalBuiltinExtension => isString(additionalBuiltinExtension) ? {
|
|
107
107
|
id: additionalBuiltinExtension
|
|
108
|
-
} : additionalBuiltinExtension)
|
|
108
|
+
} : additionalBuiltinExtension) : [];
|
|
109
109
|
for (const e of customBuiltinExtensionsInfo) {
|
|
110
110
|
if (isGalleryExtensionInfo(e)) {
|
|
111
111
|
extensions.push({
|
|
@@ -131,12 +131,15 @@ let WebExtensionsScannerService = class WebExtensionsScannerService extends Disp
|
|
|
131
131
|
this.logService.info("Found additional builtin gallery extensions in env", extensions);
|
|
132
132
|
}
|
|
133
133
|
if (extensionLocations.length) {
|
|
134
|
-
this.logService.info(
|
|
134
|
+
this.logService.info(
|
|
135
|
+
"Found additional builtin location extensions in env",
|
|
136
|
+
extensionLocations.map(e => ( e.toString()))
|
|
137
|
+
);
|
|
135
138
|
}
|
|
136
139
|
if (extensionGalleryResources.length) {
|
|
137
140
|
this.logService.info(
|
|
138
141
|
"Found additional builtin extension gallery resources in env",
|
|
139
|
-
|
|
142
|
+
extensionGalleryResources.map(e => ( e.toString()))
|
|
140
143
|
);
|
|
141
144
|
}
|
|
142
145
|
return {
|
|
@@ -179,7 +182,9 @@ let WebExtensionsScannerService = class WebExtensionsScannerService extends Disp
|
|
|
179
182
|
}
|
|
180
183
|
async readSystemExtensions() {
|
|
181
184
|
const systemExtensions = await this.builtinExtensionsScannerService.scanBuiltinExtensions();
|
|
182
|
-
const cachedSystemExtensions = await Promise.all(
|
|
185
|
+
const cachedSystemExtensions = await Promise.all(
|
|
186
|
+
(await this.readSystemExtensionsCache()).map(e => this.toScannedExtension(e, true, ExtensionType.System))
|
|
187
|
+
);
|
|
183
188
|
const result = ( new Map());
|
|
184
189
|
for (const extension of [...systemExtensions, ...cachedSystemExtensions]) {
|
|
185
190
|
const existing = result.get(extension.identifier.id.toLowerCase());
|
|
@@ -212,7 +217,7 @@ let WebExtensionsScannerService = class WebExtensionsScannerService extends Disp
|
|
|
212
217
|
return [];
|
|
213
218
|
}
|
|
214
219
|
const result = [];
|
|
215
|
-
await Promise.allSettled(
|
|
220
|
+
await Promise.allSettled(extensionLocations.map(async extensionLocation => {
|
|
216
221
|
try {
|
|
217
222
|
const webExtension = await this.toWebExtension(extensionLocation);
|
|
218
223
|
const extension = await this.toScannedExtension(webExtension, true);
|
|
@@ -226,7 +231,7 @@ let WebExtensionsScannerService = class WebExtensionsScannerService extends Disp
|
|
|
226
231
|
} catch (error) {
|
|
227
232
|
this.logService.info(`Error while fetching the additional builtin extension ${( extensionLocation.toString())}.`, getErrorMessage(error));
|
|
228
233
|
}
|
|
229
|
-
}))
|
|
234
|
+
}));
|
|
230
235
|
return result;
|
|
231
236
|
}
|
|
232
237
|
async getCustomBuiltinExtensionsFromGallery(scanOptions) {
|
|
@@ -244,12 +249,12 @@ let WebExtensionsScannerService = class WebExtensionsScannerService extends Disp
|
|
|
244
249
|
try {
|
|
245
250
|
const cacheValue = JSON.stringify({
|
|
246
251
|
extensions: extensions.sort((a, b) => a.id.localeCompare(b.id)),
|
|
247
|
-
extensionGalleryResources:
|
|
252
|
+
extensionGalleryResources: extensionGalleryResources.map(e => ( e.toString())).sort()
|
|
248
253
|
});
|
|
249
254
|
const useCache = this.storageService.get("additionalBuiltinExtensions", StorageScope.APPLICATION, "{}") === cacheValue;
|
|
250
255
|
const webExtensions = await (useCache ? this.getCustomBuiltinExtensionsFromCache() : this.updateCustomBuiltinExtensionsCache());
|
|
251
256
|
if (webExtensions.length) {
|
|
252
|
-
await Promise.all(
|
|
257
|
+
await Promise.all(webExtensions.map(async webExtension => {
|
|
253
258
|
try {
|
|
254
259
|
const extension = await this.toScannedExtension(webExtension, true);
|
|
255
260
|
if (extension.isValid || !scanOptions?.skipInvalidExtensions) {
|
|
@@ -265,7 +270,7 @@ let WebExtensionsScannerService = class WebExtensionsScannerService extends Disp
|
|
|
265
270
|
getErrorMessage(error)
|
|
266
271
|
);
|
|
267
272
|
}
|
|
268
|
-
}))
|
|
273
|
+
}));
|
|
269
274
|
}
|
|
270
275
|
this.storageService.store(
|
|
271
276
|
"additionalBuiltinExtensions",
|
|
@@ -276,11 +281,11 @@ let WebExtensionsScannerService = class WebExtensionsScannerService extends Disp
|
|
|
276
281
|
} catch (error) {
|
|
277
282
|
this.logService.info(
|
|
278
283
|
"Ignoring following additional builtin extensions as there is an error while fetching them from gallery",
|
|
279
|
-
|
|
284
|
+
extensions.map((
|
|
280
285
|
{
|
|
281
286
|
id
|
|
282
287
|
}
|
|
283
|
-
) => id)
|
|
288
|
+
) => id),
|
|
284
289
|
getErrorMessage(error)
|
|
285
290
|
);
|
|
286
291
|
}
|
|
@@ -312,11 +317,11 @@ let WebExtensionsScannerService = class WebExtensionsScannerService extends Disp
|
|
|
312
317
|
if (!extensionsToMigrate.length) {
|
|
313
318
|
return;
|
|
314
319
|
}
|
|
315
|
-
const fromExtensions = await this.galleryService.getExtensions(
|
|
320
|
+
const fromExtensions = await this.galleryService.getExtensions(extensionsToMigrate.map(([id]) => ({
|
|
316
321
|
id
|
|
317
|
-
}))
|
|
322
|
+
})), CancellationToken.None);
|
|
318
323
|
try {
|
|
319
|
-
await Promise.allSettled(
|
|
324
|
+
await Promise.allSettled(extensionsToMigrate.map(async ([from, to]) => {
|
|
320
325
|
const toExtension = customBuiltinExtensions.find(extension => areSameExtensions(extension.identifier, {
|
|
321
326
|
id: to
|
|
322
327
|
}));
|
|
@@ -333,7 +338,7 @@ let WebExtensionsScannerService = class WebExtensionsScannerService extends Disp
|
|
|
333
338
|
`Skipped migrating extension storage from '${from}' to '${to}', because the '${to}' extension is not found.`
|
|
334
339
|
);
|
|
335
340
|
}
|
|
336
|
-
}))
|
|
341
|
+
}));
|
|
337
342
|
} catch (error) {
|
|
338
343
|
this.logService.error(error);
|
|
339
344
|
}
|
|
@@ -383,7 +388,7 @@ let WebExtensionsScannerService = class WebExtensionsScannerService extends Disp
|
|
|
383
388
|
}
|
|
384
389
|
const result = ( new Map());
|
|
385
390
|
const extensionInfos = [];
|
|
386
|
-
await Promise.all(
|
|
391
|
+
await Promise.all(extensionGalleryResources.map(async extensionGalleryResource => {
|
|
387
392
|
try {
|
|
388
393
|
const webExtension = await this.toWebExtensionFromExtensionGalleryResource(extensionGalleryResource);
|
|
389
394
|
result.set(webExtension.identifier.id.toLowerCase(), webExtension);
|
|
@@ -397,7 +402,7 @@ let WebExtensionsScannerService = class WebExtensionsScannerService extends Disp
|
|
|
397
402
|
getErrorMessage(error)
|
|
398
403
|
);
|
|
399
404
|
}
|
|
400
|
-
}))
|
|
405
|
+
}));
|
|
401
406
|
const galleryExtensions = await this.galleryService.getExtensions(extensionInfos, CancellationToken.None);
|
|
402
407
|
for (const galleryExtension of galleryExtensions) {
|
|
403
408
|
const webExtension = result.get(galleryExtension.identifier.id.toLowerCase());
|
|
@@ -438,7 +443,7 @@ let WebExtensionsScannerService = class WebExtensionsScannerService extends Disp
|
|
|
438
443
|
missingExtensions
|
|
439
444
|
);
|
|
440
445
|
}
|
|
441
|
-
await Promise.all(
|
|
446
|
+
await Promise.all([...( galleryExtensionsMap.values())].map(async gallery => {
|
|
442
447
|
try {
|
|
443
448
|
const webExtension = await this.toWebExtensionFromGallery(gallery, {
|
|
444
449
|
isPreReleaseVersion: gallery.properties.isPreReleaseVersion,
|
|
@@ -452,7 +457,7 @@ let WebExtensionsScannerService = class WebExtensionsScannerService extends Disp
|
|
|
452
457
|
getErrorMessage(error)
|
|
453
458
|
);
|
|
454
459
|
}
|
|
455
|
-
}))
|
|
460
|
+
}));
|
|
456
461
|
return webExtensions;
|
|
457
462
|
}
|
|
458
463
|
async resolveDependenciesAndPackedExtensions(webExtensions, result) {
|
|
@@ -474,7 +479,7 @@ let WebExtensionsScannerService = class WebExtensionsScannerService extends Disp
|
|
|
474
479
|
return;
|
|
475
480
|
}
|
|
476
481
|
const galleryExtensions = await this.getExtensionsWithDependenciesAndPackedExtensions(extensionInfos, ( new Set([...( result.keys())])));
|
|
477
|
-
await Promise.all(
|
|
482
|
+
await Promise.all([...( galleryExtensions.values())].map(async gallery => {
|
|
478
483
|
try {
|
|
479
484
|
const webExtension = await this.toWebExtensionFromGallery(gallery, {
|
|
480
485
|
isPreReleaseVersion: gallery.properties.isPreReleaseVersion,
|
|
@@ -488,7 +493,7 @@ let WebExtensionsScannerService = class WebExtensionsScannerService extends Disp
|
|
|
488
493
|
getErrorMessage(error)
|
|
489
494
|
);
|
|
490
495
|
}
|
|
491
|
-
}))
|
|
496
|
+
}));
|
|
492
497
|
}
|
|
493
498
|
async getExtensionsWithDependenciesAndPackedExtensions(
|
|
494
499
|
toGet,
|
|
@@ -543,7 +548,7 @@ let WebExtensionsScannerService = class WebExtensionsScannerService extends Disp
|
|
|
543
548
|
const devExtensions = this.environmentService.options?.developmentOptions?.extensions;
|
|
544
549
|
const result = [];
|
|
545
550
|
if (Array.isArray(devExtensions)) {
|
|
546
|
-
await Promise.allSettled(
|
|
551
|
+
await Promise.allSettled(devExtensions.map(async devExtension => {
|
|
547
552
|
try {
|
|
548
553
|
const location = URI.revive(devExtension);
|
|
549
554
|
if (URI.isUri(location)) {
|
|
@@ -557,7 +562,7 @@ let WebExtensionsScannerService = class WebExtensionsScannerService extends Disp
|
|
|
557
562
|
} catch (error) {
|
|
558
563
|
this.logService.info(`Error while fetching the extension under development ${( devExtension.toString())}.`, getErrorMessage(error));
|
|
559
564
|
}
|
|
560
|
-
}))
|
|
565
|
+
}));
|
|
561
566
|
}
|
|
562
567
|
return result;
|
|
563
568
|
}
|
|
@@ -627,12 +632,12 @@ let WebExtensionsScannerService = class WebExtensionsScannerService extends Disp
|
|
|
627
632
|
async copyExtensions(fromProfileLocation, toProfileLocation, filter) {
|
|
628
633
|
const extensionsToCopy = [];
|
|
629
634
|
const fromWebExtensions = await this.readInstalledExtensions(fromProfileLocation);
|
|
630
|
-
await Promise.all(
|
|
635
|
+
await Promise.all(fromWebExtensions.map(async webExtension => {
|
|
631
636
|
const scannedExtension = await this.toScannedExtension(webExtension, false);
|
|
632
637
|
if (filter(scannedExtension)) {
|
|
633
638
|
extensionsToCopy.push(webExtension);
|
|
634
639
|
}
|
|
635
|
-
}))
|
|
640
|
+
}));
|
|
636
641
|
if (extensionsToCopy.length) {
|
|
637
642
|
await this.addToInstalledExtensions(extensionsToCopy, toProfileLocation);
|
|
638
643
|
}
|
|
@@ -767,7 +772,7 @@ let WebExtensionsScannerService = class WebExtensionsScannerService extends Disp
|
|
|
767
772
|
}
|
|
768
773
|
if (!this.extensionManifestPropertiesService.canExecuteOnWeb(manifest)) {
|
|
769
774
|
throw ( new Error(( localize(
|
|
770
|
-
|
|
775
|
+
21794,
|
|
771
776
|
"Cannot add '{0}' because this extension is not a web extension.",
|
|
772
777
|
manifest.displayName || manifest.name
|
|
773
778
|
))));
|
|
@@ -966,7 +971,7 @@ let WebExtensionsScannerService = class WebExtensionsScannerService extends Disp
|
|
|
966
971
|
}
|
|
967
972
|
async migrateWebExtensions(webExtensions, file) {
|
|
968
973
|
let update = false;
|
|
969
|
-
webExtensions = await Promise.all(
|
|
974
|
+
webExtensions = await Promise.all(webExtensions.map(async webExtension => {
|
|
970
975
|
if (!webExtension.manifest) {
|
|
971
976
|
try {
|
|
972
977
|
webExtension.manifest = await this.getExtensionManifest(webExtension.location);
|
|
@@ -1003,7 +1008,7 @@ let WebExtensionsScannerService = class WebExtensionsScannerService extends Disp
|
|
|
1003
1008
|
webExtension.metadata.hasPreReleaseVersion = true;
|
|
1004
1009
|
}
|
|
1005
1010
|
return webExtension;
|
|
1006
|
-
}))
|
|
1011
|
+
}));
|
|
1007
1012
|
if (update) {
|
|
1008
1013
|
await this.storeWebExtensions(webExtensions, file);
|
|
1009
1014
|
}
|
|
@@ -1018,7 +1023,7 @@ let WebExtensionsScannerService = class WebExtensionsScannerService extends Disp
|
|
|
1018
1023
|
dictionary.forEach((value, key) => result[key] = value.toJSON());
|
|
1019
1024
|
return result;
|
|
1020
1025
|
}
|
|
1021
|
-
const storedWebExtensions =
|
|
1026
|
+
const storedWebExtensions = webExtensions.map(e => ({
|
|
1022
1027
|
identifier: e.identifier,
|
|
1023
1028
|
version: e.version,
|
|
1024
1029
|
manifest: e.manifest,
|
|
@@ -1029,7 +1034,7 @@ let WebExtensionsScannerService = class WebExtensionsScannerService extends Disp
|
|
|
1029
1034
|
defaultManifestTranslations: e.defaultManifestTranslations,
|
|
1030
1035
|
fallbackPackageNLSUri: e.fallbackPackageNLSUri?.toJSON(),
|
|
1031
1036
|
metadata: e.metadata
|
|
1032
|
-
}))
|
|
1037
|
+
}));
|
|
1033
1038
|
await this.fileService.writeFile(file, VSBuffer.fromString(JSON.stringify(storedWebExtensions)));
|
|
1034
1039
|
}
|
|
1035
1040
|
getResourceAccessQueue(file) {
|
|
@@ -1046,7 +1051,7 @@ if (isWeb) {
|
|
|
1046
1051
|
constructor() {
|
|
1047
1052
|
super({
|
|
1048
1053
|
id: "workbench.extensions.action.openInstalledWebExtensionsResource",
|
|
1049
|
-
title: ( localize2(
|
|
1054
|
+
title: ( localize2(21795, "Open Installed Web Extensions Resource")),
|
|
1050
1055
|
category: Categories.Developer,
|
|
1051
1056
|
f1: true,
|
|
1052
1057
|
precondition: IsWebContext
|
|
@@ -116,13 +116,13 @@ let ExtensionService = class ExtensionService extends AbstractExtensionService {
|
|
|
116
116
|
this._scanWebExtensionsPromise = (async () => {
|
|
117
117
|
const system = [], user = [], development = [];
|
|
118
118
|
try {
|
|
119
|
-
await Promise.all([
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
]);
|
|
119
|
+
await Promise.all([this._webExtensionsScannerService.scanSystemExtensions().then(
|
|
120
|
+
extensions => system.push(...extensions.map(e => toExtensionDescription(e)))
|
|
121
|
+
), this._webExtensionsScannerService.scanUserExtensions(this._userDataProfileService.currentProfile.extensionsResource, {
|
|
122
|
+
skipInvalidExtensions: true
|
|
123
|
+
}).then(extensions => user.push(...extensions.map(e => toExtensionDescription(e)))), this._webExtensionsScannerService.scanExtensionsUnderDevelopment().then(
|
|
124
|
+
extensions => development.push(...extensions.map(e => toExtensionDescription(e, true)))
|
|
125
|
+
)]);
|
|
126
126
|
} catch (error) {
|
|
127
127
|
this._logService.error(error);
|
|
128
128
|
}
|
|
@@ -257,14 +257,18 @@ let BrowserExtensionHostFactory = class BrowserExtensionHostFactory {
|
|
|
257
257
|
runningLocation,
|
|
258
258
|
extRunningLocation => desiredRunningLocation.equals(extRunningLocation)
|
|
259
259
|
);
|
|
260
|
-
const extensions = ( new ExtensionHostExtensions(0, localExtensions,
|
|
260
|
+
const extensions = ( new ExtensionHostExtensions(0, localExtensions, myExtensions.map(extension => extension.identifier)));
|
|
261
261
|
return {
|
|
262
262
|
extensions
|
|
263
263
|
};
|
|
264
264
|
} else {
|
|
265
265
|
const snapshot = await this._getExtensionRegistrySnapshotWhenReady();
|
|
266
266
|
const myExtensions = runningLocations.filterByRunningLocation(snapshot.extensions, desiredRunningLocation);
|
|
267
|
-
const extensions = ( new ExtensionHostExtensions(
|
|
267
|
+
const extensions = ( new ExtensionHostExtensions(
|
|
268
|
+
snapshot.versionId,
|
|
269
|
+
snapshot.extensions,
|
|
270
|
+
myExtensions.map(extension => extension.identifier)
|
|
271
|
+
));
|
|
268
272
|
return {
|
|
269
273
|
extensions
|
|
270
274
|
};
|
|
@@ -282,7 +286,11 @@ let BrowserExtensionHostFactory = class BrowserExtensionHostFactory {
|
|
|
282
286
|
throw ( new Error("Cannot provide init data for remote extension host!"));
|
|
283
287
|
}
|
|
284
288
|
const myExtensions = runningLocations.filterByExtensionHostKind(snapshot.extensions, ExtensionHostKind.Remote);
|
|
285
|
-
const extensions = ( new ExtensionHostExtensions(
|
|
289
|
+
const extensions = ( new ExtensionHostExtensions(
|
|
290
|
+
snapshot.versionId,
|
|
291
|
+
snapshot.extensions,
|
|
292
|
+
myExtensions.map(extension => extension.identifier)
|
|
293
|
+
));
|
|
286
294
|
return {
|
|
287
295
|
connectionData: this._remoteAuthorityResolverService.getConnectionData(remoteAuthority),
|
|
288
296
|
pid: remoteEnv.pid,
|