mirror of
https://github.com/openclaw/openclaw.git
synced 2026-03-13 19:10:39 +00:00
fix(slack): remove double mrkdwn conversion in native streaming path
Remove redundant text normalization from Slack native streaming markdown_text flow so Markdown formatting is preserved. Synthesis context: overlaps reviewed from #34931, #34759, #34716, #34682, #34814. Co-authored-by: littleben <1573829+littleben@users.noreply.github.com> Co-authored-by: dunamismax <dunamismax@tutamail.com> Co-authored-by: Octane <wdznb1@gmail.com> Co-authored-by: Mitsuyuki Osabe <24588751+carrotRakko@users.noreply.github.com> Co-authored-by: Kai <me@kaiyi.cool> Co-authored-by: OpenClaw Agent <agent@openclaw.ai> Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
This commit is contained in:
@@ -69,6 +69,7 @@ Docs: https://docs.openclaw.ai
|
||||
- Ollama/custom provider headers: forward resolved model headers into native Ollama stream requests so header-authenticated Ollama proxies receive configured request headers. (#24337) thanks @echoVic.
|
||||
- Daemon/systemd install robustness: treat `systemctl --user is-enabled` exit-code-4 `not-found` responses as not-enabled by combining stderr/stdout detail parsing, so Ubuntu fresh installs no longer fail with `systemctl is-enabled unavailable`. (#33634) Thanks @Yuandiaodiaodiao.
|
||||
- Slack/system-event session routing: resolve reaction/member/pin/interaction system-event session keys through channel/account bindings (with sender-aware DM routing) so inbound Slack events target the correct agent session in multi-account setups instead of defaulting to `agent:main`. (#34045) Thanks @paulomcg, @daht-mad and @vincentkoc.
|
||||
- Slack/native streaming markdown conversion: stop pre-normalizing text passed to Slack native `markdown_text` in streaming start/append/stop paths to prevent Markdown style corruption from double conversion. (#34931)
|
||||
- Gateway/HTTP tools invoke media compatibility: preserve raw media payload access for direct `/tools/invoke` clients by allowing media `nodes` invoke commands only in HTTP tool context, while keeping agent-context media invoke blocking to prevent base64 prompt bloat. (#34365) Thanks @obviyus.
|
||||
- Agents/Nodes media outputs: add dedicated `photos_latest` action handling, block media-returning `nodes invoke` commands, keep metadata-only `camera.list` invoke allowed, and normalize empty `photos_latest` results to a consistent response shape to prevent base64 context bloat. (#34332) Thanks @obviyus.
|
||||
- TUI/session-key canonicalization: normalize `openclaw tui --session` values to lowercase so uppercase session names no longer drop real-time streaming updates due to gateway/TUI key mismatches. (#33866, #34013) thanks @lynnzc.
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
import type { WebClient } from "@slack/web-api";
|
||||
import type { ChatStreamer } from "@slack/web-api/dist/chat-stream.js";
|
||||
import { logVerbose } from "../globals.js";
|
||||
import { normalizeSlackOutboundText } from "./format.js";
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// Types
|
||||
@@ -100,7 +99,7 @@ export async function startSlackStream(
|
||||
// If initial text is provided, send it as the first append which will
|
||||
// trigger the ChatStreamer to call chat.startStream under the hood.
|
||||
if (text) {
|
||||
await streamer.append({ markdown_text: normalizeSlackOutboundText(text) });
|
||||
await streamer.append({ markdown_text: text });
|
||||
logVerbose(`slack-stream: appended initial text (${text.length} chars)`);
|
||||
}
|
||||
|
||||
@@ -122,7 +121,7 @@ export async function appendSlackStream(params: AppendSlackStreamParams): Promis
|
||||
return;
|
||||
}
|
||||
|
||||
await session.streamer.append({ markdown_text: normalizeSlackOutboundText(text) });
|
||||
await session.streamer.append({ markdown_text: text });
|
||||
logVerbose(`slack-stream: appended ${text.length} chars`);
|
||||
}
|
||||
|
||||
@@ -148,9 +147,7 @@ export async function stopSlackStream(params: StopSlackStreamParams): Promise<vo
|
||||
}`,
|
||||
);
|
||||
|
||||
await session.streamer.stop(
|
||||
text ? { markdown_text: normalizeSlackOutboundText(text) } : undefined,
|
||||
);
|
||||
await session.streamer.stop(text ? { markdown_text: text } : undefined);
|
||||
|
||||
logVerbose("slack-stream: stream stopped");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user