fix: preserve progress draft tool titles · openclaw/openclaw@e0cc5c0
steipete
·
2026-05-08
·
via Recent Commits to openclaw:main
File tree
extensions/discord/src/monitor
| Original file line number | Diff line number | Diff line change |
|---|
@@ -7,7 +7,7 @@ Docs: https://docs.openclaw.ai
|
7 | 7 | ### Changes |
8 | 8 | |
9 | 9 | - Agents/failover: harden state-aware lane suspension by persisting quota resume transitions, restoring configured lane concurrency, preserving non-quota failure reasons, and exporting model failover events through diagnostics OTLP. Thanks @BunsDev. |
10 | | -- Channels/streaming: make progress draft labels scroll away with other progress lines, render structured tool rows as compact emoji/details, show web-search queries from provider-native argument shapes, and skip empty Discord apply-patch starts until a patch summary exists. (#79146) |
| 10 | +- Channels/streaming: make progress draft labels scroll away with other progress lines, render structured tool rows as compact emoji/title/details, show web-search queries from provider-native argument shapes, and skip empty Discord apply-patch starts until a patch summary exists. (#79146) |
11 | 11 | - Telegram: preserve the channel-specific 10-option poll cap in the unified outbound adapter so over-limit polls are rejected before send. (#78762) Thanks @obviyus. |
12 | 12 | - Runtime/install: raise the supported Node 22 floor to `22.16+` so native SQLite query handling can rely on the `node:sqlite` statement metadata API while continuing to recommend Node 24. (#78921) |
13 | 13 | - Discord/voice: include a bounded one-line STT transcript preview in verbose voice logs so live voice debugging shows what speakers said before the agent reply. |
|
| Original file line number | Diff line number | Diff line change |
|---|
|
1 | | -0c69a93645885b5135fe4cb920b25aa24505cb2f818281a0185b2edc1966732d plugin-sdk-api-baseline.json |
2 | | -23d13fe064bb240d81a385c7fc02ca732c909b9cbdcae02fd45339dd3f74bd73 plugin-sdk-api-baseline.jsonl |
| 1 | +887d2fee5f77f1de984bfb6ec0f001c0484c0367dbc8b5f42b62027df352c2e1 plugin-sdk-api-baseline.json |
| 2 | +8e2b4e64a801b47c4d45d5d4a2073180abcc1ecf7e677fae035799c6a68f7c82 plugin-sdk-api-baseline.jsonl |
| Original file line number | Diff line number | Diff line change |
|---|
@@ -1621,7 +1621,7 @@ describe("processDiscordMessage draft streaming", () => {
|
1621 | 1621 | await runProcessDiscordMessage(ctx); |
1622 | 1622 | |
1623 | 1623 | expect(draftStream.update).toHaveBeenCalledWith( |
1624 | | -"Shelling\n🛠️ run tests, `pnpm test -- --watch=false`\n• done", |
| 1624 | +"Shelling\n🛠️ Exec: run tests, `pnpm test -- --watch=false`\n• done", |
1625 | 1625 | ); |
1626 | 1626 | }); |
1627 | 1627 | |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -273,9 +273,7 @@ describe("channel-streaming", () => {
|
273 | 273 | lines: line ? [line] : [], |
274 | 274 | }); |
275 | 275 | |
276 | | -expect(text).toBe( |
277 | | -"Shelling\n🛠️ run node script scripts/check-something-with-a-very-long-path, node…", |
278 | | -); |
| 276 | +expect(text).toBe("Shelling\n🛠️ Exec: run node script…that/keeps/going/and/going/index…"); |
279 | 277 | expect(text.match(/`/g) ?? []).toHaveLength(0); |
280 | 278 | }); |
281 | 279 | |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -754,16 +754,22 @@ function getProgressDraftLineText(line: string | ChannelProgressDraftLine): stri
|
754 | 754 | } |
755 | 755 | const icon = line.icon?.trim(); |
756 | 756 | const prefix = icon ? `${icon} ` : ""; |
| 757 | +const label = line.label.trim(); |
757 | 758 | const detail = line.detail?.trim(); |
758 | 759 | if (detail) { |
| 760 | +if (line.kind !== "patch" && label) { |
| 761 | +return `${prefix}${label}: ${detail}`; |
| 762 | +} |
759 | 763 | return `${prefix}${detail}`; |
760 | 764 | } |
761 | 765 | const status = line.status?.trim(); |
762 | 766 | if (status) { |
| 767 | +if (label) { |
| 768 | +return `${prefix}${label}: ${status}`; |
| 769 | +} |
763 | 770 | return `${prefix}${status}`; |
764 | 771 | } |
765 | 772 | const text = line.text.trim(); |
766 | | -const label = line.label.trim(); |
767 | 773 | if (!icon && text && text !== label) { |
768 | 774 | return text; |
769 | 775 | } |
|
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。