diff --git a/src/cli/program.test.ts b/src/cli/program.test.ts index 56cffd215..c63f0f5b1 100644 --- a/src/cli/program.test.ts +++ b/src/cli/program.test.ts @@ -4,7 +4,6 @@ const sendCommand = vi.fn(); const statusCommand = vi.fn(); const loginWeb = vi.fn(); const startWebChatServer = vi.fn(async () => ({ port: 18788 })); -const ensureWebChatServerFromConfig = vi.fn(async () => ({ port: 18788 })); const runtime = { log: vi.fn(), @@ -22,7 +21,6 @@ vi.mock("../provider-web.js", () => ({ })); vi.mock("../webchat/server.js", () => ({ startWebChatServer, - ensureWebChatServerFromConfig, getWebChatServer: () => null, })); vi.mock("./deps.js", () => ({ diff --git a/src/cli/program.ts b/src/cli/program.ts index b6cba2b4c..a6ce81a25 100644 --- a/src/cli/program.ts +++ b/src/cli/program.ts @@ -13,10 +13,7 @@ import { loginWeb, logoutWeb } from "../provider-web.js"; import { runRpcLoop } from "../rpc/loop.js"; import { defaultRuntime } from "../runtime.js"; import { VERSION } from "../version.js"; -import { - ensureWebChatServerFromConfig, - startWebChatServer, -} from "../webchat/server.js"; +import { startWebChatServer } from "../webchat/server.js"; import { createDefaultDeps } from "./deps.js"; import { forceFreePort, @@ -285,22 +282,6 @@ Examples: } try { await startGatewayServer(port); - try { - const webchat = await ensureWebChatServerFromConfig({ - gatewayUrl: `ws://127.0.0.1:${port}`, - }); - if (webchat) { - defaultRuntime.log( - info( - `webchat listening on http://127.0.0.1:${webchat.port}/`, - ), - ); - } else { - defaultRuntime.log(info("webchat disabled via config")); - } - } catch (webchatErr) { - defaultRuntime.error(`WebChat failed to start: ${String(webchatErr)}`); - } } catch (err) { if (err instanceof GatewayLockError) { defaultRuntime.error(`Gateway failed to start: ${err.message}`); diff --git a/src/gateway/server.ts b/src/gateway/server.ts index 144f8f080..dcfa0c0fd 100644 --- a/src/gateway/server.ts +++ b/src/gateway/server.ts @@ -734,9 +734,17 @@ export async function startGatewayServer(port = 18789): Promise { // Start loopback WebChat server (unless disabled via config). void ensureWebChatServerFromConfig({ gatewayUrl: `ws://127.0.0.1:${port}`, - }).catch((err) => { - logError(`gateway: webchat failed to start: ${String(err)}`); - }); + }) + .then((webchat) => { + if (webchat) { + defaultRuntime.log( + `webchat listening on http://127.0.0.1:${webchat.port}/`, + ); + } + }) + .catch((err) => { + logError(`gateway: webchat failed to start: ${String(err)}`); + }); // Launch configured providers (WhatsApp Web, Telegram) so gateway replies via the // surface the message came from. Tests can opt out via CLAWDIS_SKIP_PROVIDERS.