fix(channels): sync status reaction DEFAULT_EMOJIS with documented defaults#81762
fix(channels): sync status reaction DEFAULT_EMOJIS with documented defaults#81762gado-ships-it wants to merge 1 commit into
Conversation
…faults The doc comments, Slack shortcode map, and Telegram variant tests were already updated to the clearer status emoji, but DEFAULT_EMOJIS itself still held the old emotional-commentary set (🥱/😨/🤔/🔥/...). Sync the constant so stall and lifecycle reactions actually render as the documented status indicators. Fixes openclaw#59077
|
ClawSweeper status: review started. I am starting a fresh review of this pull request: fix(channels): sync status reaction DEFAULT_EMOJIS with documented defaults This is item 1/1 in the current shard. Shard 0/1. This placeholder means the worker is alive and reading the current context. I will edit this same comment with the actual review when the claws are done clicking. Crustacean status: shell secured, claws on keyboard, evidence pebbles being sorted. |
|
Folding this into #80612 instead — that PR already touches |
Summary
Fixes #59077.
The status reaction defaults in
src/channels/status-reactions.tsalreadydocument a clearer, self-explanatory emoji set in the
StatusReactionEmojistype comments — and the rest of the codebase was already updated for it:
extensions/slack/src/monitor/message-handler/dispatch.tsalready maps🧠 🛠️ 💻 🌐 ⏳ ⚠️ ✅ ❌to Slack shortcodes.extensions/telegram/src/status.test.tsalready exercises🛠️as arequested emoji.
But the actual
DEFAULT_EMOJISconstant was never flipped — it still held theold emotional-commentary set (
🥱yawn /😨fear /🤔/🔥/👍/😱).That is exactly the UX confusion reported in #59077:
🥱 → 😨reads as mood,not "slow → stuck".
This change syncs the constant to the documented values:
compacting(✍) andqueued(👀) are unchanged.Cross-platform check
UNICODE_TO_SLACKindispatch.tsalready has shortcodes forevery new emoji (
brain,hammer_and_wrench,computer,globe_with_meridians,hourglass_flowing_sand,warning,white_check_mark,x).emoji are in it. The existing
TELEGRAM_STATUS_REACTION_VARIANTSfallbacklists handle this:
resolveTelegramReactionVariantwalks the per-statevariant list and picks the first Telegram-supported emoji, so Telegram keeps
rendering its supported equivalents (🤔/🔥/👨💻/...). Graceful degradation,
no behavior change on Telegram.
are all standard and valid as reactions.
Power users can still override any of these via
messages.statusReactions.emojisin config.Verification
pnpm test src/channels/status-reactions.test.ts src/channels/status-reactions.slack-lifecycle.test.ts— 2 files, 51 tests passedpnpm test extensions/telegram/src/status.test.ts— 1 file, 27 tests passedDEFAULT_EMOJIS.*symbolically, so no assertions are pinned to the old literals.