Compare commits

...

3 Commits

3 changed files with 32 additions and 0 deletions

View File

@@ -59,6 +59,7 @@ Docs: https://docs.openclaw.ai
- Browser/Act request compatibility: accept legacy flattened `action="act"` params (`kind/ref/text/...`) in addition to `request={...}` so browser act calls no longer fail with `request required`. (#15120) Thanks @vincentkoc.
- Browser/Extension relay stale tabs: evict stale cached targets from `/json/list` when extension targets are destroyed/crashed or commands fail with missing target/session errors. (#6175) Thanks @vincentkoc.
- CLI/Browser start timeout: honor `openclaw browser --timeout <ms> start` and stop by removing the fixed 15000ms override so slower Chrome startups can use caller-provided timeouts. (#22412, #23427) Thanks @vincentkoc.
- Browser/Config schema: accept `browser.extraArgs` in config validation and reject invalid non-array/non-string values with explicit schema regressions coverage. (#29882) Thanks @gushiaoke.
- Browser/CDP startup diagnostics: include Chrome stderr output and a Linux no-sandbox hint in startup timeout errors so failed launches are easier to diagnose. (#29312) Thanks @veast.
- Docker/Image health checks: add Dockerfile `HEALTHCHECK` that probes gateway `GET /healthz` so container runtimes can mark unhealthy instances without requiring auth credentials in the probe command. (#11478) Thanks @U-C4N and @vincentkoc.
- Docker/Sandbox bootstrap hardening: make `OPENCLAW_SANDBOX` opt-in parsing explicit (`1|true|yes|on`), support custom Docker socket paths via `OPENCLAW_DOCKER_SOCKET`, defer docker.sock exposure until sandbox prerequisites pass, and reset/roll back persisted sandbox mode to `off` when setup is skipped or partially fails to avoid stale broken sandbox state. (#29974) Thanks @jamtujest and @vincentkoc.

View File

@@ -164,4 +164,34 @@ describe("config schema regressions", () => {
expect(res.issues[0]?.path).toBe("channels.imessage.attachmentRoots.0");
}
});
it("accepts browser.extraArgs for proxy and custom flags", () => {
const res = validateConfigObject({
browser: {
extraArgs: ["--proxy-server=http://127.0.0.1:7890"],
},
});
expect(res.ok).toBe(true);
});
it("rejects browser.extraArgs with non-array value", () => {
const res = validateConfigObject({
browser: {
extraArgs: "--proxy-server=http://127.0.0.1:7890" as unknown,
},
});
expect(res.ok).toBe(false);
});
it("rejects browser.extraArgs entries that are not strings", () => {
const res = validateConfigObject({
browser: {
extraArgs: ["--incognito", 123] as unknown as string[],
},
});
expect(res.ok).toBe(false);
});
});

View File

@@ -281,6 +281,7 @@ export const OpenClawSchema = z
}),
)
.optional(),
extraArgs: z.array(z.string()).optional(),
})
.strict()
.optional(),