diff --git a/src/sql/platform/capabilities/common/capabilitiesService.ts b/src/sql/platform/capabilities/common/capabilitiesService.ts index 50690bd428..ab5df93a74 100644 --- a/src/sql/platform/capabilities/common/capabilitiesService.ts +++ b/src/sql/platform/capabilities/common/capabilitiesService.ts @@ -132,11 +132,16 @@ export class CapabilitiesService extends Disposable implements ICapabilitiesServ }); this._register(extentionManagementService.onDidUninstallExtension(({ identifier }) => { + const connectionProvider = 'connectionProvider'; let extensionid = getIdFromLocalExtensionId(identifier.id); extensionService.getExtensions().then(i => { let extension = i.find(c => c.id === extensionid); - let id = extension.contributes['connectionProvider'].providerId; - delete this.capabilities.connectionProviderCache[id]; + if (extension && extension.contributes + && extension.contributes[connectionProvider] + && extension.contributes[connectionProvider].providerId) { + let id = extension.contributes[connectionProvider].providerId; + delete this.capabilities.connectionProviderCache[id]; + } }); })); } diff --git a/src/sql/workbench/services/notebook/common/notebookServiceImpl.ts b/src/sql/workbench/services/notebook/common/notebookServiceImpl.ts index ccb67270bc..ac3803c190 100644 --- a/src/sql/workbench/services/notebook/common/notebookServiceImpl.ts +++ b/src/sql/workbench/services/notebook/common/notebookServiceImpl.ts @@ -158,7 +158,7 @@ export class NotebookService extends Disposable implements INotebookService { } private hookNotebookThemesAndConfigListener(): void { - if(this._configurationService) { + if (this._configurationService) { this.updateNotebookThemes(); this._register(this._configurationService.onDidChangeConfiguration(e => { if (e.affectsConfiguration(OVERRIDE_EDITOR_THEMING_SETTING)) { @@ -458,11 +458,14 @@ export class NotebookService extends Disposable implements INotebookService { } private removeContributedProvidersFromCache(identifier: IExtensionIdentifier, extensionService: IExtensionService) { + const notebookProvider = 'notebookProvider'; let extensionid = getIdFromLocalExtensionId(identifier.id); extensionService.getExtensions().then(i => { let extension = i.find(c => c.id === extensionid); - if (extension && extension.contributes['notebookProvider']) { - let id = extension.contributes['notebookProvider'].providerId; + if (extension && extension.contributes + && extension.contributes[notebookProvider] + && extension.contributes[notebookProvider].providerId) { + let id = extension.contributes[notebookProvider].providerId; delete this.providersMemento.notebookProviderCache[id]; } });