mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-05 04:41:35 +00:00
* feat(approvals): emit bold headers and labels in approval prompts Approval prompts carried plain-text labels, so iMessage showed no formatting even though its send path now translates markdown into attributed-body ranges (the markdown-core profile refactor, #113002). Emit bold on the headers and field labels so channels that render markdown show formatted approval text: iMessage into native ranges, other markdown channels into their native bold, and channels that downgrade drop the markers cleanly. Closes #85954. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q7d86Ww4vJwxJwY4z1AVx6 * test(approvals): update prompt-text assertions for bold labels * feat(approvals): bold the auto-review rationale in reaction prompts The rationale is the reason for the interruption, so it should stand out. Generated text, but the reaction-runtime renderers parse to an IR that tolerates stray markers, so a rationale containing a lone marker degrades gracefully rather than breaking the emphasis span. * fix(approvals): preserve reaction binding and Signal rendering for bold prompts Codex + local ClawSweeper caught that bolding the prompt headers/labels broke downstream consumers of the visible approval text: - Reaction/tapback binding on iMessage, Signal, and WhatsApp anchors on the plain `Exec approval required` / `ID:` format. Strip `**` markers in each channel's binding parser before matching, so binding still correlates the delivered prompt. Adds an iMessage bold-format binding regression test. - Signal sent the approval payload with textMode "plain", so the markers would reach users literally. Switch Signal's approval sends to markdown mode; markdownToSignalText renders the headers as native bold. WhatsApp already renders markdown by default; iMessage renders via extractMarkdownFormatRuns. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q7d86Ww4vJwxJwY4z1AVx6 * style(approvals): oxfmt the touched approval files --------- Co-authored-by: Omar Shahine <10343873+omarshahine@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
OpenClaw WhatsApp
Official OpenClaw channel plugin for WhatsApp Web chats.
Install from OpenClaw:
openclaw plugin add @openclaw/whatsapp
Link a WhatsApp account through the plugin's setup flow, then configure which chats OpenClaw agents should monitor and reply to.