fix(daemon): include HOME in service env (#1214)
Thanks @ameno-. Co-authored-by: Ameno Osman <ameno.osman13@gmail.com>
This commit is contained in:
@@ -17,6 +17,7 @@ Docs: https://docs.clawd.bot
|
|||||||
- Plugins: surface plugin load/register/config errors in gateway logs with plugin/source context.
|
- Plugins: surface plugin load/register/config errors in gateway logs with plugin/source context.
|
||||||
- Agents: propagate accountId into embedded runs so sub-agent announce routing honors the originating account. (#1058)
|
- Agents: propagate accountId into embedded runs so sub-agent announce routing honors the originating account. (#1058)
|
||||||
- Compaction: include tool failure summaries in safeguard compaction to prevent retry loops. (#1084)
|
- Compaction: include tool failure summaries in safeguard compaction to prevent retry loops. (#1084)
|
||||||
|
- Daemon: include HOME in service environments to avoid missing HOME errors. (#1214) — thanks @ameno-.
|
||||||
- TUI: show generic empty-state text for searchable pickers. (#1201) — thanks @vignesh07.
|
- TUI: show generic empty-state text for searchable pickers. (#1201) — thanks @vignesh07.
|
||||||
- Doctor: canonicalize legacy session keys in session stores to prevent stale metadata. (#1169)
|
- Doctor: canonicalize legacy session keys in session stores to prevent stale metadata. (#1169)
|
||||||
- CLI: centralize CLI command registration to keep fast-path routing and program wiring in sync. (#1207) — thanks @gumadeiras.
|
- CLI: centralize CLI command registration to keep fast-path routing and program wiring in sync. (#1207) — thanks @gumadeiras.
|
||||||
|
|||||||
@@ -1,6 +1,10 @@
|
|||||||
import path from "node:path";
|
import path from "node:path";
|
||||||
import { describe, expect, it } from "vitest";
|
import { describe, expect, it } from "vitest";
|
||||||
import { buildMinimalServicePath, buildServiceEnvironment } from "./service-env.js";
|
import {
|
||||||
|
buildMinimalServicePath,
|
||||||
|
buildNodeServiceEnvironment,
|
||||||
|
buildServiceEnvironment,
|
||||||
|
} from "./service-env.js";
|
||||||
|
|
||||||
describe("buildMinimalServicePath", () => {
|
describe("buildMinimalServicePath", () => {
|
||||||
it("includes Homebrew + system dirs on macOS", () => {
|
it("includes Homebrew + system dirs on macOS", () => {
|
||||||
@@ -48,6 +52,7 @@ describe("buildServiceEnvironment", () => {
|
|||||||
port: 18789,
|
port: 18789,
|
||||||
token: "secret",
|
token: "secret",
|
||||||
});
|
});
|
||||||
|
expect(env.HOME).toBe("/home/user");
|
||||||
if (process.platform === "win32") {
|
if (process.platform === "win32") {
|
||||||
expect(env.PATH).toBe("");
|
expect(env.PATH).toBe("");
|
||||||
} else {
|
} else {
|
||||||
@@ -75,3 +80,12 @@ describe("buildServiceEnvironment", () => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe("buildNodeServiceEnvironment", () => {
|
||||||
|
it("passes through HOME for node services", () => {
|
||||||
|
const env = buildNodeServiceEnvironment({
|
||||||
|
env: { HOME: "/home/user" },
|
||||||
|
});
|
||||||
|
expect(env.HOME).toBe("/home/user");
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|||||||
@@ -75,6 +75,7 @@ export function buildServiceEnvironment(params: {
|
|||||||
(process.platform === "darwin" ? resolveGatewayLaunchAgentLabel(profile) : undefined);
|
(process.platform === "darwin" ? resolveGatewayLaunchAgentLabel(profile) : undefined);
|
||||||
const systemdUnit = `${resolveGatewaySystemdServiceName(profile)}.service`;
|
const systemdUnit = `${resolveGatewaySystemdServiceName(profile)}.service`;
|
||||||
return {
|
return {
|
||||||
|
HOME: env.HOME,
|
||||||
PATH: buildMinimalServicePath({ env }),
|
PATH: buildMinimalServicePath({ env }),
|
||||||
CLAWDBOT_PROFILE: profile,
|
CLAWDBOT_PROFILE: profile,
|
||||||
CLAWDBOT_STATE_DIR: env.CLAWDBOT_STATE_DIR,
|
CLAWDBOT_STATE_DIR: env.CLAWDBOT_STATE_DIR,
|
||||||
@@ -94,6 +95,7 @@ export function buildNodeServiceEnvironment(params: {
|
|||||||
}): Record<string, string | undefined> {
|
}): Record<string, string | undefined> {
|
||||||
const { env } = params;
|
const { env } = params;
|
||||||
return {
|
return {
|
||||||
|
HOME: env.HOME,
|
||||||
PATH: buildMinimalServicePath({ env }),
|
PATH: buildMinimalServicePath({ env }),
|
||||||
CLAWDBOT_STATE_DIR: env.CLAWDBOT_STATE_DIR,
|
CLAWDBOT_STATE_DIR: env.CLAWDBOT_STATE_DIR,
|
||||||
CLAWDBOT_CONFIG_PATH: env.CLAWDBOT_CONFIG_PATH,
|
CLAWDBOT_CONFIG_PATH: env.CLAWDBOT_CONFIG_PATH,
|
||||||
|
|||||||
Reference in New Issue
Block a user