fix(daemon): scope service env forwarding to TMPDIR

This commit is contained in:
Gustavo Madeira Santana 2026-02-18 20:46:50 -05:00
parent 296d5ede68
commit db73297759
3 changed files with 4 additions and 15 deletions

View File

@ -15,6 +15,7 @@ Docs: https://docs.openclaw.ai
### Fixes
- Gateway/Daemon: forward `TMPDIR` into installed service environments so macOS LaunchAgent gateway runs can open SQLite temp/journal files reliably instead of failing with `SQLITE_CANTOPEN`. (#20512) Thanks @Clawborn.
- iOS/Screen: move `WKWebView` lifecycle ownership into `ScreenWebView` coordinator and explicit attach/detach flow to reduce gesture/lifecycle crash risk (`__NSArrayM insertObject:atIndex:` paths) during screen tab updates. (#20366) Thanks @ngutman.
- Gateway/TUI: honor `agents.defaults.blockStreamingDefault` for `chat.send` by removing the hardcoded block-streaming disable override, so replies can use configured block-mode delivery. (#19693) Thanks @neipor.
- Protocol/Apple: regenerate Swift gateway models for `push.test` so `pnpm protocol:check` stays green on main. Thanks @mbelinky.

View File

@ -290,21 +290,12 @@ describe("buildServiceEnvironment", () => {
expect(env.TMPDIR).toBe("/var/folders/xw/abc123/T/");
});
it("forwards LANG from the host environment", () => {
const env = buildServiceEnvironment({
env: { HOME: "/home/user", LANG: "en_US.UTF-8" },
port: 18789,
});
expect(env.LANG).toBe("en_US.UTF-8");
});
it("omits TMPDIR and LANG when not set in host environment", () => {
it("omits TMPDIR when not set in host environment", () => {
const env = buildServiceEnvironment({
env: { HOME: "/home/user" },
port: 18789,
});
expect(env.TMPDIR).toBeUndefined();
expect(env.LANG).toBeUndefined();
});
it("uses profile-specific unit and label", () => {
@ -327,12 +318,11 @@ describe("buildNodeServiceEnvironment", () => {
expect(env.HOME).toBe("/home/user");
});
it("forwards TMPDIR and LANG for node services", () => {
it("forwards TMPDIR for node services", () => {
const env = buildNodeServiceEnvironment({
env: { HOME: "/home/user", TMPDIR: "/tmp/custom", LANG: "en_US.UTF-8" },
env: { HOME: "/home/user", TMPDIR: "/tmp/custom" },
});
expect(env.TMPDIR).toBe("/tmp/custom");
expect(env.LANG).toBe("en_US.UTF-8");
});
});

View File

@ -215,7 +215,6 @@ export function buildServiceEnvironment(params: {
return {
HOME: env.HOME,
TMPDIR: env.TMPDIR,
LANG: env.LANG,
PATH: buildMinimalServicePath({ env }),
OPENCLAW_PROFILE: profile,
OPENCLAW_STATE_DIR: stateDir,
@ -239,7 +238,6 @@ export function buildNodeServiceEnvironment(params: {
return {
HOME: env.HOME,
TMPDIR: env.TMPDIR,
LANG: env.LANG,
PATH: buildMinimalServicePath({ env }),
OPENCLAW_STATE_DIR: stateDir,
OPENCLAW_CONFIG_PATH: configPath,