summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorKit Langton <[email protected]>2026-04-16 19:50:11 -0400
committerGitHub <[email protected]>2026-04-16 23:50:11 +0000
commit218eca7c2bc95355f594c0fe50853326c86c469f (patch)
treedbc2c78fb784cb9e077f18319de9a75ce85fe9a3
parent30fc791480ebdabc9c62c70713e6cb52b44caff2 (diff)
downloadopencode-218eca7c2bc95355f594c0fe50853326c86c469f.tar.gz
opencode-218eca7c2bc95355f594c0fe50853326c86c469f.zip
refactor: unwrap MDNS namespace + self-reexport (#22968)
-rw-r--r--packages/opencode/src/server/mdns.ts98
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"