mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 11:00:42 +00:00
fix(channels): quiet disabled preview tool progress
This commit is contained in:
@@ -62,6 +62,7 @@ Docs: https://docs.openclaw.ai
|
||||
- Google Meet: avoid treating repeated participant words as multiple assistant-overlap matches when suppressing realtime echo transcripts. Thanks @vincentkoc.
|
||||
- QA/cache: require the full `CACHE-OK <suffix>` marker before live cache probes stop retrying, so suffix-only prose cannot hide a broken probe response. Thanks @vincentkoc.
|
||||
- Slack/Matrix: avoid creating blank progress-draft messages when `streaming.progress.label=false` and progress tool lines are disabled. Thanks @vincentkoc.
|
||||
- Slack/Discord: suppress standalone tool-progress chatter when partial preview streaming has `streaming.preview.toolProgress: false`, matching the documented quiet-preview behavior. Thanks @vincentkoc.
|
||||
- QA/Matrix: keep the mock OpenAI tool-progress provider aligned with exact-marker Matrix prompts so the hardened live preview scenario still forces a deterministic read before final delivery. Thanks @vincentkoc.
|
||||
- Google Meet: make realtime talk-back agent-driven by default with `realtime.strategy: "agent"`, keep the previous direct bidirectional model behavior available as `realtime.strategy: "bidi"`, route the Meet tab speaker output to `BlackHole 2ch` automatically for local Chrome realtime joins, coalesce nearby speech transcript fragments before consulting the agent, and avoid cutting off agent speech from server VAD or stale playback pipe errors.
|
||||
- Google Meet: suppress queued assistant playback and assistant-like transcript echoes from the realtime input path, so the meeting does not hear the agent's own speech as a new user turn and loop or cut itself off.
|
||||
|
||||
@@ -1561,7 +1561,7 @@ describe("processDiscordMessage draft streaming", () => {
|
||||
expect(draftStream.forceNewMessage).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it("keeps standalone Discord tool progress when partial preview lines are disabled", async () => {
|
||||
it("suppresses standalone Discord tool progress when partial preview lines are disabled", async () => {
|
||||
createMockDraftStreamForTest();
|
||||
|
||||
dispatchInboundMessage.mockImplementationOnce(async () => createNoQueuedDispatchResult());
|
||||
@@ -1581,7 +1581,7 @@ describe("processDiscordMessage draft streaming", () => {
|
||||
|
||||
expect(
|
||||
dispatchInboundMessage.mock.calls[0]?.[0]?.replyOptions?.suppressDefaultToolProgressMessages,
|
||||
).toBeUndefined();
|
||||
).toBe(true);
|
||||
});
|
||||
|
||||
it("strips reply tags from preview partials", async () => {
|
||||
|
||||
@@ -301,6 +301,9 @@ vi.mock("openclaw/plugin-sdk/channel-streaming", () => ({
|
||||
if (entry?.streaming?.mode === "progress") {
|
||||
return true;
|
||||
}
|
||||
if (options?.draftStreamActive === true) {
|
||||
return true;
|
||||
}
|
||||
return options?.previewToolProgressEnabled ?? true;
|
||||
},
|
||||
isChannelProgressDraftWorkToolName: (name?: string) =>
|
||||
@@ -765,7 +768,7 @@ describe("dispatchPreparedSlackMessage preview fallback", () => {
|
||||
expect(draftStream.update).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it("keeps standalone Slack tool progress when partial preview lines are disabled", async () => {
|
||||
it("suppresses standalone Slack tool progress when partial preview lines are disabled", async () => {
|
||||
mockedSlackStreamingMode = "partial";
|
||||
mockedSlackDraftMode = "replace";
|
||||
mockedDispatchSequence = [];
|
||||
@@ -776,7 +779,7 @@ describe("dispatchPreparedSlackMessage preview fallback", () => {
|
||||
}),
|
||||
);
|
||||
|
||||
expect(capturedReplyOptions?.suppressDefaultToolProgressMessages).toBeUndefined();
|
||||
expect(capturedReplyOptions?.suppressDefaultToolProgressMessages).toBe(true);
|
||||
expect(capturedReplyOptions?.onItemEvent).toBeDefined();
|
||||
});
|
||||
|
||||
|
||||
@@ -118,7 +118,7 @@ describe("channel-streaming", () => {
|
||||
{ streaming: { mode: "partial", preview: { toolProgress: false } } },
|
||||
{ draftStreamActive: true },
|
||||
),
|
||||
).toBe(false);
|
||||
).toBe(true);
|
||||
expect(
|
||||
resolveChannelStreamingSuppressDefaultToolProgressMessages(
|
||||
{ streaming: { mode: "partial", preview: { toolProgress: false } } },
|
||||
|
||||
@@ -448,6 +448,9 @@ export function resolveChannelStreamingSuppressDefaultToolProgressMessages(
|
||||
if (mode === "progress") {
|
||||
return true;
|
||||
}
|
||||
if (options?.draftStreamActive === true) {
|
||||
return true;
|
||||
}
|
||||
return options?.previewToolProgressEnabled ?? resolveChannelStreamingPreviewToolProgress(entry);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user