From 81b90867518bba1f26be706cba2bcff6e2dd3899 Mon Sep 17 00:00:00 2001 From: Dmitriy Vasyura Date: Tue, 24 Feb 2026 00:18:59 -0800 Subject: [PATCH] Defer initWindowsVersionInfo until after window open (#297241) --- src/vs/code/electron-main/app.ts | 6 ++++++ src/vs/code/electron-main/main.ts | 6 +----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/vs/code/electron-main/app.ts b/src/vs/code/electron-main/app.ts index 05de6d1c46f..7881f739531 100644 --- a/src/vs/code/electron-main/app.ts +++ b/src/vs/code/electron-main/app.ts @@ -7,6 +7,7 @@ import { app, Details, GPUFeatureStatus, powerMonitor, protocol, session, Sessio import { addUNCHostToAllowlist, disableUNCAccessRestrictions } from '../../base/node/unc.js'; import { validatedIpcMain } from '../../base/parts/ipc/electron-main/ipcMain.js'; import { hostname, release } from 'os'; +import { initWindowsVersionInfo } from '../../base/node/windowsVersion.js'; import { VSBuffer } from '../../base/common/buffer.js'; import { toErrorMessage } from '../../base/common/errorMessage.js'; import { Event } from '../../base/common/event.js'; @@ -1431,6 +1432,11 @@ export class CodeApplication extends Disposable { private afterWindowOpen(instantiationService: IInstantiationService): void { + // Accurate Windows version info + if (isWindows) { + initWindowsVersionInfo(); + } + // Windows: mutex this.installMutex(); diff --git a/src/vs/code/electron-main/main.ts b/src/vs/code/electron-main/main.ts index 82d80db5bdc..eb7e0193373 100644 --- a/src/vs/code/electron-main/main.ts +++ b/src/vs/code/electron-main/main.ts @@ -22,7 +22,6 @@ import { IProcessEnvironment, isLinux, isMacintosh, isWindows, OS } from '../../ import { cwd } from '../../base/common/process.js'; import { rtrim, trim } from '../../base/common/strings.js'; import { Promises as FSPromises } from '../../base/node/pfs.js'; -import { initWindowsVersionInfo } from '../../base/node/windowsVersion.js'; import { ProxyChannel } from '../../base/parts/ipc/common/ipc.js'; import { Client as NodeIPCClient } from '../../base/parts/ipc/common/ipc.net.js'; import { connect as nodeIPCConnect, serve as nodeIPCServe, Server as NodeIPCServer, XDG_RUNTIME_DIR } from '../../base/parts/ipc/node/ipc.net.js'; @@ -283,10 +282,7 @@ class CodeMain { stateService.init(), // Configuration service - configurationService.initialize(), - - // Accurate Windows version info. - isWindows ? initWindowsVersionInfo() : Promise.resolve() + configurationService.initialize() ]); // Initialize user data profiles after initializing the state