






















@@ -146,6 +146,63 @@ describe("normalizeCompatibilityConfigValues", () => {
146146fs.rmSync(tempOauthDir, { recursive: true, force: true });
147147});
148148149+it("sets the group visible reply default for configured channels", () => {
150+const res = normalizeCompatibilityConfigValues({
151+channels: {
152+discord: {},
153+},
154+messages: {
155+groupChat: {
156+mentionPatterns: ["@openclaw"],
157+},
158+},
159+});
160+161+expect(res.config.messages?.groupChat).toEqual({
162+mentionPatterns: ["@openclaw"],
163+visibleReplies: "message_tool",
164+});
165+expect(res.changes).toContain(
166+'Set messages.groupChat.visibleReplies to "message_tool" so group/channel replies use the message tool by default.',
167+);
168+});
169+170+it("does not set group visible replies without channels or when already explicit", () => {
171+expect(
172+normalizeCompatibilityConfigValues({
173+messages: {
174+groupChat: {
175+mentionPatterns: ["@openclaw"],
176+},
177+},
178+}).changes,
179+).toEqual([]);
180+181+expect(
182+normalizeCompatibilityConfigValues({
183+channels: {
184+discord: {},
185+},
186+messages: {
187+visibleReplies: "automatic",
188+},
189+}).config.messages?.groupChat?.visibleReplies,
190+).toBeUndefined();
191+192+expect(
193+normalizeCompatibilityConfigValues({
194+channels: {
195+discord: {},
196+},
197+messages: {
198+groupChat: {
199+visibleReplies: "automatic",
200+},
201+},
202+}).config.messages?.groupChat?.visibleReplies,
203+).toBe("automatic");
204+});
205+149206it("does not add whatsapp config when missing and no auth exists", () => {
150207const res = normalizeCompatibilityConfigValues({
151208messages: { ackReaction: "👀" },
@@ -216,6 +273,11 @@ describe("normalizeCompatibilityConfigValues", () => {
216273217274it("leaves invalid legacy secretref-env markers for validation to reject", () => {
218275const res = normalizeCompatibilityConfigValues({
276+messages: {
277+groupChat: {
278+visibleReplies: "message_tool",
279+},
280+},
219281channels: {
220282discord: {
221283token: "secretref-env:not-valid",
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。