src/vs/workbench/contrib/externalUriOpener/common/contributedOpeners.ts/ContributedExternalUriOpenersStore/invalidateOpenersOnExtensionsChanged
class ContributedExternalUriOpenersStore:	private async invalidateOpenersOnExtensionsChanged() {
		await this._extensionService.whenInstalledExtensionsRegistered();
		const registeredExtensions = this._extensionService.extensions;

		for (const [id, entry] of this._openers) {
			const extension = registeredExtensions.find(r => r.identifier.value === entry.extensionId);
			if (extension) {
				if (!this._extensionService.canRemoveExtension(extension)) {
					// The extension is running. We should have registered openers at this point
					if (!entry.isCurrentlyRegistered) {
						this.delete(id);
					}
				}
			} else {
				// The opener came from an extension that is no longer enabled/installed
				this.delete(id);
			}
		}
	}