From fbb058ed9753addcc779c0189464497d9fd8d738 Mon Sep 17 00:00:00 2001 From: Bohdan Triapitsyn Date: Tue, 13 Jan 2026 19:44:13 +0200 Subject: [PATCH] feat(server): add function to wait for OpenCode port --- packages/web/server/index.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/packages/web/server/index.js b/packages/web/server/index.js index 59e83888..45a519b6 100644 --- a/packages/web/server/index.js +++ b/packages/web/server/index.js @@ -969,6 +969,22 @@ function setOpenCodePort(port) { lastOpenCodeError = null; } +async function waitForOpenCodePort(timeoutMs = 15000) { + if (openCodePort !== null) { + return openCodePort; + } + + const deadline = Date.now() + timeoutMs; + while (Date.now() < deadline) { + await new Promise((resolve) => setTimeout(resolve, 50)); + if (openCodePort !== null) { + return openCodePort; + } + } + + throw new Error('Timed out waiting for OpenCode port'); +} + function getLoginShellPath() { if (process.platform === 'win32') { return null;