fix(discovery): add missing domain to wideArea Zod config schema (#35615)

Merged via squash.

Prepared head SHA: d81d3321b6
Co-authored-by: ingyukoh <6015960+ingyukoh@users.noreply.github.com>
Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com>
Reviewed-by: @altaywtf
This commit is contained in:
ingyukoh 2026-03-13 21:52:54 +09:00 committed by GitHub
parent e9b1e856a0
commit af4731aa5f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 19 additions and 0 deletions

View File

@ -24,6 +24,7 @@ Docs: https://docs.openclaw.ai
- Android/onboarding QR scan: switch setup QR scanning to Google Code Scanner so onboarding uses a more reliable scanner instead of the legacy embedded ZXing flow. (#45021) Thanks @obviyus.
- Config/web fetch: restore runtime validation for documented `tools.web.fetch.readability` and `tools.web.fetch.firecrawl` settings so valid web fetch configs no longer fail with unrecognized-key errors. (#42583) Thanks @stim64045-spec.
- Signal/config validation: add `channels.signal.groups` schema support so per-group `requireMention`, `tools`, and `toolsBySender` overrides no longer get rejected during config validation. (#27199) Thanks @unisone.
- Config/discovery: accept `discovery.wideArea.domain` in strict config validation so unicast DNS-SD gateway configs no longer fail with an unrecognized-key error. (#35615) Thanks @ingyukoh.
## 2026.3.12

View File

@ -211,4 +211,17 @@ describe("config schema regressions", () => {
expect(res.ok).toBe(true);
});
it("accepts discovery.wideArea.domain for unicast DNS-SD", () => {
const res = validateConfigObject({
discovery: {
wideArea: {
enabled: true,
domain: "openclaw.internal",
},
},
});
expect(res.ok).toBe(true);
});
});

View File

@ -296,6 +296,7 @@ const TARGET_KEYS = [
"web.reconnect.jitter",
"web.reconnect.maxAttempts",
"discovery",
"discovery.wideArea.domain",
"discovery.wideArea.enabled",
"discovery.mdns",
"discovery.mdns.mode",

View File

@ -292,6 +292,8 @@ export const FIELD_HELP: Record<string, string> = {
"Wide-area discovery configuration group for exposing discovery signals beyond local-link scopes. Enable only in deployments that intentionally aggregate gateway presence across sites.",
"discovery.wideArea.enabled":
"Enables wide-area discovery signaling when your environment needs non-local gateway discovery. Keep disabled unless cross-network discovery is operationally required.",
"discovery.wideArea.domain":
"Optional unicast DNS-SD domain for wide-area discovery, such as openclaw.internal. Use this when you intentionally publish gateway discovery beyond local mDNS scopes.",
"discovery.mdns":
"mDNS discovery configuration group for local network advertisement and discovery behavior tuning. Keep minimal mode for routine LAN discovery unless extra metadata is required.",
tools:

View File

@ -654,6 +654,7 @@ export const FIELD_LABELS: Record<string, string> = {
discovery: "Discovery",
"discovery.wideArea": "Wide-area Discovery",
"discovery.wideArea.enabled": "Wide-area Discovery Enabled",
"discovery.wideArea.domain": "Wide-area Discovery Domain",
"discovery.mdns": "mDNS Discovery",
canvasHost: "Canvas Host",
"canvasHost.enabled": "Canvas Host Enabled",

View File

@ -596,6 +596,7 @@ export const OpenClawSchema = z
wideArea: z
.object({
enabled: z.boolean().optional(),
domain: z.string().optional(),
})
.strict()
.optional(),