Skip to content

fix(weixin): skip content dedup for slash commands like /approve - #29855

Closed
vanhci wants to merge 1 commit into
NousResearch:mainfrom
vanhci:fix/issue-29779-wechat-content-dedup
Closed

vanhci wants to merge 1 commit into
NousResearch:mainfrom
vanhci:fix/issue-29779-wechat-content-dedup

Conversation

@vanhci

@vanhci vanhci commented May 21, 2026

Copy link
Copy Markdown

Summary

WeChat adapter's secondary content-fingerprint dedup was dropping intentionally-repeated slash commands (e.g. /approve sent twice).

Fix

Skip content dedup for text starting with / — commands are always processed regardless of dedup state.

Testing

  • Existing WeChat dedup tests should continue to pass
  • Manual: send /approve twice via WeChat — second one should now reach the agent

Closes #29779

WeChat adapter's secondary content-fingerprint dedup was dropping
intentionally-repeated slash commands (e.g. /approve sent twice). The
dedup layer now skips text starting with '/', allowing commands to be
processed regardless of prior dedup state.

Fixes #29779
@alt-glitch alt-glitch added type/bug Something isn't working comp/gateway Gateway runner, session dispatch, delivery P2 Medium — degraded but workaround exists labels May 21, 2026
@alt-glitch

Copy link
Copy Markdown

Competing fix with #29787 for the same issue #29779. Both skip content dedup for messages starting with /. Recommend consolidating into a single PR.

@vanhci vanhci closed this by deleting the head repository May 24, 2026
JerryLiu369 added a commit to JerryLiu369/hermes-agent that referenced this pull request Sep 12, 2026
Simpler approach: if text starts with "/", skip the content-fingerprint
dedup entirely.  Message-ID dedup (300s TTL) still handles iLink network
retries, so the 3-second sliding window for commands is unnecessary.

This is the approach that NousResearch#29787, NousResearch#29855, NousResearch#35434, and NousResearch#36707 all
targeted — the earlier PRs were closed for bundled unrelated changes,
not for the fix strategy itself.

Tests:
- test_slash_commands_bypass_content_dedup: two /approve with different
  message IDs → both reach the handler
- test_slash_command_msg_id_dedup_still_applies: same message_id →
  deduped by message_id cache (not affected by this change)
- Existing test_duplicate_content_with_different_message_ids_is_dropped
  still passes (regular text dedup unchanged)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/gateway Gateway runner, session dispatch, delivery P2 Medium — degraded but workaround exists type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

WeChat adapter content dedup silently drops repeated commands, breaking /approve workflow

2 participants