From cc15b8c6ad34be355787b0db93a98c8354dcfc15 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sun, 15 Feb 2026 04:47:16 +0000 Subject: [PATCH] refactor(infra): reuse lan ip picker --- src/infra/system-presence.ts | 21 ++------------------- 1 file changed, 2 insertions(+), 19 deletions(-) diff --git a/src/infra/system-presence.ts b/src/infra/system-presence.ts index c78f5ccc100..c8e7ac26248 100644 --- a/src/infra/system-presence.ts +++ b/src/infra/system-presence.ts @@ -1,5 +1,6 @@ import { spawnSync } from "node:child_process"; import os from "node:os"; +import { pickPrimaryLanIPv4 } from "../gateway/net.js"; export type SystemPresence = { host?: string; @@ -43,25 +44,7 @@ function normalizePresenceKey(key: string | undefined): string | undefined { } function resolvePrimaryIPv4(): string | undefined { - const nets = os.networkInterfaces(); - const prefer = ["en0", "eth0"]; - const pick = (names: string[]) => { - for (const name of names) { - const list = nets[name]; - const entry = list?.find((n) => n.family === "IPv4" && !n.internal); - if (entry?.address) { - return entry.address; - } - } - for (const list of Object.values(nets)) { - const entry = list?.find((n) => n.family === "IPv4" && !n.internal); - if (entry?.address) { - return entry.address; - } - } - return undefined; - }; - return pick(prefer) ?? os.hostname(); + return pickPrimaryLanIPv4() ?? os.hostname(); } function initSelfPresence() {