From 59837b25bd1d0e61b795586785ee64befe476e17 Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Sun, 22 Mar 2026 12:40:31 -0700 Subject: [PATCH] fix(doctor): scope discord off hint to legacy migration --- src/commands/doctor-legacy-config.test.ts | 14 ++++++++++++++ src/commands/doctor-legacy-config.ts | 6 +++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/commands/doctor-legacy-config.test.ts b/src/commands/doctor-legacy-config.test.ts index 8f4bf74e684..70d998ffdce 100644 --- a/src/commands/doctor-legacy-config.test.ts +++ b/src/commands/doctor-legacy-config.test.ts @@ -32,6 +32,20 @@ describe("normalizeCompatibilityConfigValues preview streaming aliases", () => { ]); }); + it("does not label explicit discord streaming=false as a default-off case", () => { + const res = normalizeCompatibilityConfigValues({ + channels: { + discord: { + streaming: false, + }, + }, + }); + + expect(res.config.channels?.discord?.streaming).toBe("off"); + expect(res.config.channels?.discord?.streamMode).toBeUndefined(); + expect(res.changes).toEqual(["Normalized channels.discord.streaming boolean → enum (off)."]); + }); + it("explains why discord preview streaming stays off when legacy config resolves to off", () => { const res = normalizeCompatibilityConfigValues({ channels: { diff --git a/src/commands/doctor-legacy-config.ts b/src/commands/doctor-legacy-config.ts index 58eff1d0382..b3a11867928 100644 --- a/src/commands/doctor-legacy-config.ts +++ b/src/commands/doctor-legacy-config.ts @@ -142,7 +142,11 @@ export function normalizeCompatibilityConfigValues(cfg: OpenClawConfig): { `Normalized ${params.pathPrefix}.streaming (${beforeStreaming}) → (${resolved}).`, ); } - if (params.pathPrefix.startsWith("channels.discord") && resolved === "off") { + if ( + params.pathPrefix.startsWith("channels.discord") && + resolved === "off" && + hadLegacyStreamMode + ) { changes.push( `${params.pathPrefix}.streaming remains off by default to avoid Discord preview-edit rate limits; set ${params.pathPrefix}.streaming="partial" to opt in explicitly.`, );