fix(slack): clarify finalized draft guard · openclaw/openclaw@56303b9
steipete
·
2026-05-15
·
via Recent Commits to openclaw:main
| Original file line number | Diff line number | Diff line change |
|---|
@@ -15,6 +15,7 @@ Docs: https://docs.openclaw.ai
|
15 | 15 | - Control UI/WebChat: focus the composer when users click the visible input chrome and restore larger, labeled desktop composer controls while preserving compact mobile taps. Fixes #45656. Thanks @BunsDev. |
16 | 16 | - System events: keep owner downgrades in structured metadata while rendering queued prompt text as plain `System:` lines, preserving least-privilege wakeups without prompt-visible trust labels. (#82067) |
17 | 17 | - Slack: default outbound bot link unfurls off so agent-sent URLs no longer expand into inline previews unless `channels.slack.unfurlLinks` is enabled. (#82123) Thanks @kibi-bsp. |
| 18 | +- Slack: keep finalized draft-preview replies visible when a later same-turn tool warning is delivered normally instead of clearing the edited answer. Fixes #81903. (#81979) Thanks @neeravmakwana. |
18 | 19 | - Providers/Xiaomi: preserve MiMo `reasoning_content` on multi-turn tool-call replay, including custom Xiaomi-compatible proxy routes, so follow-up turns no longer fail with `400 Param Incorrect`. Fixes #81419. (#81589) Thanks @lovelefeng-glitch and @jimdawdy-hub. |
19 | 20 | - Slack/plugins: route plugin-owned modal `view_submission` and `view_closed` events through Slack interactive handlers before compacting the agent-visible system event, so plugins can persist full submitted form state while the transcript stays compact. Fixes #82102. Thanks @shannon0430. |
20 | 21 | - Memory search: stop using chokidar write-stability polling for memory and QMD watchers so large Markdown extraPath trees no longer build up regular file descriptors; changed files now settle through the existing debounced sync queue. Fixes #77327 and #78224. (#81802) Thanks @frankekn, @loyur, and @JanPlessow. |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -873,7 +873,7 @@ export async function dispatchPreparedSlackMessage(prepared: PreparedSlackMessag
|
873 | 873 | } |
874 | 874 | }; |
875 | 875 | |
876 | | -let draftPreviewFinalized = false; |
| 876 | +let draftPreviewCommitted = false; |
877 | 877 | const { dispatcher, replyOptions, markDispatchIdle } = createReplyDispatcherWithTyping({ |
878 | 878 | ...replyPipeline, |
879 | 879 | humanDelay: resolveHumanDelayConfig(cfg, route.agentId), |
@@ -892,7 +892,7 @@ export async function dispatchPreparedSlackMessage(prepared: PreparedSlackMessag
|
892 | 892 | payload, |
893 | 893 | adapter: defineFinalizableLivePreviewAdapter({ |
894 | 894 | draft: |
895 | | -draftStream && !draftPreviewFinalized |
| 895 | +draftStream && !draftPreviewCommitted |
896 | 896 | ? { |
897 | 897 | flush: draftStream.flush, |
898 | 898 | clear: draftStream.clear, |
@@ -938,7 +938,9 @@ export async function dispatchPreparedSlackMessage(prepared: PreparedSlackMessag
|
938 | 938 | }); |
939 | 939 | }, |
940 | 940 | onPreviewFinalized: (_preview) => { |
941 | | -draftPreviewFinalized = true; |
| 941 | +// The preview edit promotes the draft message into the final answer. |
| 942 | +// Later same-turn payloads must not let fallback cleanup clear it. |
| 943 | +draftPreviewCommitted = true; |
942 | 944 | const finalThreadTs = usedReplyThreadTs ?? statusThreadTs; |
943 | 945 | observedReplyDelivery = true; |
944 | 946 | replyPlan.markSent(); |
|
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。