Improve logic for detection of node vs web worker extension host (#248534)

* Use `WorkerGlobalScope` instead of `navigator` since node defines `navigator` now

* microsoft auth too

* better logic
This commit is contained in:
Tyler James Leonhardt
2025-05-09 10:37:27 -07:00
committed by GitHub
parent 2c38508d76
commit b2224f2fc6
3 changed files with 6 additions and 3 deletions

View File

@@ -71,8 +71,9 @@ export async function activate(context: ExtensionContext) {
commands.executeCommand('workbench.action.reloadWindow');
}
}));
const isNodeEnvironment = typeof process !== 'undefined' && typeof process?.versions?.node === 'string';
// Only activate the new extension if we are not running in a browser environment
if (useMsal && typeof navigator === 'undefined') {
if (useMsal && isNodeEnvironment) {
await extensionV2.activate(context, mainTelemetryReporter);
} else {
mainTelemetryReporter.sendActivatedWithClassicImplementationEvent();

View File

@@ -210,8 +210,9 @@ export class MsalAuthProvider implements AuthenticationProvider {
}
};
const isNodeEnvironment = typeof process !== 'undefined' && typeof process?.versions?.node === 'string';
const flows = getMsalFlows({
extensionHost: typeof navigator === 'undefined'
extensionHost: isNodeEnvironment
? this._context.extension.extensionKind === ExtensionKind.UI ? ExtensionHost.Local : ExtensionHost.Remote
: ExtensionHost.WebWorker,
});