You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Render Slack progress-mode updates as native task-card progress blocks, with bounded Slack chunk text and stable fallback behavior.
Also deep-merge Slack account streaming objects over top-level defaults while preserving legacy scalar account overrides, and keep the plugin SDK fetch runtime import path from evaluating guarded-fetch dispatcher code.
Verification:
- pnpm test extensions/slack/src/progress-blocks.test.ts extensions/slack/src/accounts.test.ts src/plugin-sdk/fetch-runtime.test.ts
- pnpm lint --threads=8
- git diff --check
- .agents/skills/autoreview/scripts/autoreview --mode local
- GitHub PR checks green on #87748 at 4803e98
Refs #82258
Co-authored-by: Simon van Laak <[email protected]>
Copy file name to clipboardExpand all lines: docs/channels/slack.md
+20Lines changed: 20 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1120,6 +1120,8 @@ Hide raw command/exec text while keeping compact progress lines:
1120
1120
1121
1121
`channels.slack.streaming.nativeTransport` controls Slack native text streaming when `channels.slack.streaming.mode` is `partial` (default: `true`).
1122
1122
1123
+
Slack native progress task cards are opt-in for progress mode. Set `channels.slack.streaming.progress.nativeTaskCards` to `true` with `channels.slack.streaming.mode="progress"` to send a Slack-native plan/task card while work is running, then update the same task card at completion. Without this flag, progress mode keeps the portable draft-preview behavior.
1124
+
1123
1125
- A reply thread must be available for native text streaming and Slack assistant thread status to appear. Thread selection still follows `replyToMode`.
1124
1126
- Channel, group-chat, and top-level DM roots can still use the normal draft preview when native streaming is unavailable or no reply thread exists.
1125
1127
- Top-level Slack DMs stay off-thread by default, so they do not show Slack's thread-style native stream/status preview; OpenClaw posts and edits a draft preview in the DM instead.
@@ -1142,6 +1144,24 @@ Use draft preview instead of Slack native text streaming:
1142
1144
}
1143
1145
```
1144
1146
1147
+
Opt in to Slack native progress task cards:
1148
+
1149
+
```json5
1150
+
{
1151
+
channels: {
1152
+
slack: {
1153
+
streaming: {
1154
+
mode:"progress",
1155
+
progress: {
1156
+
nativeTaskCards:true,
1157
+
render:"rich",
1158
+
},
1159
+
},
1160
+
},
1161
+
},
1162
+
}
1163
+
```
1164
+
1145
1165
Legacy keys:
1146
1166
1147
1167
-`channels.slack.streamMode` (`replace | status_final | append`) is a legacy runtime alias for `channels.slack.streaming.mode`.
help: 'Progress draft renderer: "text" uses one portable text body; "rich" renders structured Slack Block Kit fields with the same text fallback.',
163
163
},
164
+
"streaming.progress.nativeTaskCards": {
165
+
label: "Slack Native Progress Task Cards",
166
+
help: 'Opt in to Slack native task-card progress updates when channels.slack.streaming.mode="progress" and streaming.nativeTransport is enabled. Default: false.',
167
+
},
164
168
"streaming.progress.toolProgress": {
165
169
label: "Slack Progress Tool Lines",
166
170
help: "Show compact tool/progress lines in progress draft mode (default: true). Set false to keep only the label until final delivery.",
0 commit comments