diff --git a/src/server/channel-computers.ts b/src/server/channel-computers.ts index a9d7733..87942b1 100644 --- a/src/server/channel-computers.ts +++ b/src/server/channel-computers.ts @@ -593,7 +593,7 @@ async function repairAppleGuestNetwork(computer: ChannelComputer): Promise // the same fleet-wide outage during one reconciliation pass. if (now() - appleNetworkRepairAt > 30_000) { if (platform() === "darwin") { - const label = `gui/${process.getuid?.() ?? 501}/com.apple.container.container-network-vmnet.default`; + const label = `gui/${process.getuid?.() ?? 501}/com.apple.container.network.container-network-vmnet.default`; const kicked = await spawnCollected("/bin/launchctl", ["kickstart", "-k", label], { timeoutMs: 30_000 }); if (kicked.code !== 0) throw new Error(kicked.stderr.toString("utf8").trim() || "Apple shared VM network service could not restart"); } diff --git a/test/channel-computers.mjs b/test/channel-computers.mjs index 0e35365..b5ff9aa 100644 --- a/test/channel-computers.mjs +++ b/test/channel-computers.mjs @@ -154,6 +154,7 @@ test("Apple channel-computer contract preserves isolation, files, wakes, archive assert.ok(calls.some((call) => call.includes("-w") && call.includes("/workspace") && call.some((word) => word.includes("/bin/bash")) && call.some((word) => word.includes("-lc"))), "resident commands execute in the correct VM workspace"); assert.equal(db.q1("SELECT disk_bytes FROM channel_computers WHERE channel_id=?", beta.channelId).disk_bytes, computers.MANAGED_CHANNEL_DISK_BYTES, "reported storage is the managed writable allocation, not Apple's host-backed virtual capacity"); const backend = await readFile(join(root, "src", "server", "channel-computers.ts"), "utf8"); + assert.match(backend, /com\.apple\.container\.network\.container-network-vmnet\.default/, "network recovery restarts Apple's installed vmnet launch service"); assert.match(backend, /terminal \? \["-it"\] : pipeInput \? \["-i"\]/, "Apple terminal and streamed-stdin invocations request the exact interactive mode they need"); assert.match(backend, /isolatedInvocation\(\["\/bin\/bash", "-l"\][\s\S]*true\)/, "interactive isolated terminals request an explicit guest login shell"); assert.match(backend, /args: \[\.\.\.words, \.\.\.guestWords\(\.\.\.args\)\]/, "Apple guest argv remains quoted for the runtime's documented second shell parse");