hermes - 💡(How to fix) Fix Feishu: double "(Edited)" on progress messages + missing delete_message

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

When the gateway sends tool-progress updates to Feishu via repeated edit_message calls, the final message shows two "(Edited)" labels — one from Feishu's system layer (grey), one residual in the message body itself (black).

Root cause: the Feishu adapter doesn't implement delete_message, so cleanup_progress is silently disabled (gateway/run.py L13233-13237). The progress bubble can't be cleaned up after the final response lands.

Root Cause

Root cause: the Feishu adapter doesn't implement delete_message, so cleanup_progress is silently disabled (gateway/run.py L13233-13237). The progress bubble can't be cleaned up after the final response lands.

Fix Action

Fix / Workaround

Workaround (current)

Code Example

self._client.im.v1.message.delete(request)

---

display:
  platforms:
    feishu:
      cleanup_progress: true

---

display:
  platforms:
    feishu:
      tool_progress: "none"
RAW_BUFFERClick to expand / collapse

Type: bug
Platform: Feishu
Affected version: v0.12.0 – v0.13.0 (current main)


Summary

When the gateway sends tool-progress updates to Feishu via repeated edit_message calls, the final message shows two "(Edited)" labels — one from Feishu's system layer (grey), one residual in the message body itself (black).

Root cause: the Feishu adapter doesn't implement delete_message, so cleanup_progress is silently disabled (gateway/run.py L13233-13237). The progress bubble can't be cleaned up after the final response lands.

Steps to reproduce

  1. Send any multi-tool message to Hermes via Feishu (e.g. "search and summarize X")
  2. Wait for tool progress bubbles to appear
  3. Observe the final progress message has two "(Edited)" labels stacked

Why this happens

  1. Feishu auto-appends a grey "(Edited)" when a bot message is modified via the message update API
  2. The gateway's send_progress_messages() repeatedly calls adapter.edit_message() to build the progress bubble as tool calls complete
  3. Since Feishu has no delete_message, the cleanup_progress feature (added in #21186) silently disables — the check at L13233 detects type(adapter).delete_message is BasePlatformAdapter.delete_message and sets _cleanup_progress = False
  4. The progress bubble stays in the chat, showing the double label

Proposed fix

Implement delete_message in gateway/platforms/feishu.py using the Lark SDK:

self._client.im.v1.message.delete(request)

This maps to DELETE /open-apis/im/v1/messages/{message_id}, a standard Lark OpenAPI endpoint.

Once implemented, cleanup_progress: true would auto-delete progress bubbles on Feishu after the final response lands (same as Telegram).

Config to enable after fix:

display:
  platforms:
    feishu:
      cleanup_progress: true

Workaround (current)

Until delete_message is implemented, suppress progress bubbles:

display:
  platforms:
    feishu:
      tool_progress: "none"

Related

  • #21186 — opt-in cleanup of temporary progress bubbles (Telegram-only)

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING