diff options
| author | Kit Langton <[email protected]> | 2026-04-16 19:50:11 -0400 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-04-16 23:50:11 +0000 |
| commit | 218eca7c2bc95355f594c0fe50853326c86c469f (patch) | |
| tree | dbc2c78fb784cb9e077f18319de9a75ce85fe9a3 | |
| parent | 30fc791480ebdabc9c62c70713e6cb52b44caff2 (diff) | |
| download | opencode-218eca7c2bc95355f594c0fe50853326c86c469f.tar.gz opencode-218eca7c2bc95355f594c0fe50853326c86c469f.zip | |
refactor: unwrap MDNS namespace + self-reexport (#22968)
| -rw-r--r-- | packages/opencode/src/server/mdns.ts | 98 |
1 files changed, 49 insertions, 49 deletions
diff --git a/packages/opencode/src/server/mdns.ts b/packages/opencode/src/server/mdns.ts index 2011771a2..580456754 100644 --- a/packages/opencode/src/server/mdns.ts +++ b/packages/opencode/src/server/mdns.ts @@ -3,58 +3,58 @@ import { Bonjour } from "bonjour-service" const log = Log.create({ service: "mdns" }) -export namespace MDNS { - let bonjour: Bonjour | undefined - let currentPort: number | undefined - - export function publish(port: number, domain?: string) { - if (currentPort === port) return - if (bonjour) unpublish() - - try { - const host = domain ?? "opencode.local" - const name = `opencode-${port}` - bonjour = new Bonjour() - const service = bonjour.publish({ - name, - type: "http", - host, - port, - txt: { path: "/" }, - }) - - service.on("up", () => { - log.info("mDNS service published", { name, port }) - }) - - service.on("error", (err) => { - log.error("mDNS service error", { error: err }) - }) - - currentPort = port - } catch (err) { - log.error("mDNS publish failed", { error: err }) - if (bonjour) { - try { - bonjour.destroy() - } catch {} - } - bonjour = undefined - currentPort = undefined - } - } - - export function unpublish() { +let bonjour: Bonjour | undefined +let currentPort: number | undefined + +export function publish(port: number, domain?: string) { + if (currentPort === port) return + if (bonjour) unpublish() + + try { + const host = domain ?? "opencode.local" + const name = `opencode-${port}` + bonjour = new Bonjour() + const service = bonjour.publish({ + name, + type: "http", + host, + port, + txt: { path: "/" }, + }) + + service.on("up", () => { + log.info("mDNS service published", { name, port }) + }) + + service.on("error", (err) => { + log.error("mDNS service error", { error: err }) + }) + + currentPort = port + } catch (err) { + log.error("mDNS publish failed", { error: err }) if (bonjour) { try { - bonjour.unpublishAll() bonjour.destroy() - } catch (err) { - log.error("mDNS unpublish failed", { error: err }) - } - bonjour = undefined - currentPort = undefined - log.info("mDNS service unpublished") + } catch {} } + bonjour = undefined + currentPort = undefined } } + +export function unpublish() { + if (bonjour) { + try { + bonjour.unpublishAll() + bonjour.destroy() + } catch (err) { + log.error("mDNS unpublish failed", { error: err }) + } + bonjour = undefined + currentPort = undefined + log.info("mDNS service unpublished") + } +} + +export * as MDNS from "./mdns" |
