From 6cc1bc6834c969d2bb97c71f819066790a73bd2f Mon Sep 17 00:00:00 2001 From: imbytecat Date: Sun, 8 Feb 2026 19:03:13 +0800 Subject: [PATCH] =?UTF-8?q?refactor(desktop):=20=E7=94=A8=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E6=94=B6=E7=AA=84=E6=9B=BF=E4=BB=A3=20as=20AddressInf?= =?UTF-8?q?o=20=E6=96=AD=E8=A8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/desktop/src/main/index.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/apps/desktop/src/main/index.ts b/apps/desktop/src/main/index.ts index eeaf345..06e1551 100644 --- a/apps/desktop/src/main/index.ts +++ b/apps/desktop/src/main/index.ts @@ -1,5 +1,4 @@ import { spawn } from 'node:child_process' -import type { AddressInfo } from 'node:net' import { createServer } from 'node:net' import { join } from 'node:path' import { app, BrowserWindow, shell } from 'electron' @@ -13,8 +12,13 @@ const getAvailablePort = (): Promise => new Promise((resolve, reject) => { const server = createServer() server.listen(0, () => { - const { port } = server.address() as AddressInfo - server.close(() => resolve(port)) + const addr = server.address() + if (!addr || typeof addr === 'string') { + server.close() + reject(new Error('Failed to resolve port')) + return + } + server.close(() => resolve(addr.port)) }) server.on('error', reject) })