mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-11-06 13:26:40 +00:00
SMS and both WeCom adapters now split long replies, and their chunk loops returned a plain failure when a later chunk was rejected. The base send path cannot tell that from a total failure, so _send_with_retry retried the whole payload or sent the 3500-char plain-text fallback and reported success: the recipient got the head twice and never got the tail. The three loops now share gateway.platforms.helpers.send_chunks(), which marks a failure after delivered chunks with the existing partial_overflow contract (the one Telegram and Discord set and _is_partial_delivery reads). The retry and plain-text fallback already refuse to re-send a partial delivery, so the caller gets an honest failure and nothing is duplicated. Resuming the undelivered tail is #124295's scope.