hermes-agent/gateway/platforms
Teknium 5e5ad634a1
fix(matrix): duplicate messages, image caching for vision support (#2520)
Three fixes for the Matrix adapter:

1. Remove RoomMessageMedia callback registration — RoomMessageImage
   inherits from it, causing images to be processed twice.

2. Add event ID deduplication to both text and media handlers.
   nio can fire the same event more than once; bounded deque+set
   tracks the last 1000 events.

3. Cache images locally via Matrix client download. MXC URLs require
   authentication, so the vision pipeline couldn't access them.
   Images are now downloaded via the authenticated client and saved
   to the local cache (same pattern as Telegram/Discord).

Cherry-picked from PR #2353 by williamtwomey.

Co-authored-by: williamtwomey <williamtwomey@users.noreply.github.com>
2026-03-22 09:27:25 -07:00
..
__init__.py Enhance CLI with multi-platform messaging integration and configuration management 2026-02-02 19:01:51 -08:00
ADDING_A_PLATFORM.md docs: finish cron terminology cleanup 2026-03-14 19:20:58 -07:00
api_server.py fix(api_server): persist ResponseStore to SQLite across restarts (#2472) 2026-03-22 04:56:06 -07:00
base.py feat(discord): persistent typing indicator for DMs 2026-03-22 04:52:33 -07:00
dingtalk.py fix(dingtalk): requirements check passes with only one credential set 2026-03-17 03:50:45 -07:00
discord.py feat(discord): add document caching and text-file injection (#2503) 2026-03-22 07:38:14 -07:00
email.py fix(email): guard against IndexError when IMAP search returns empty list 2026-03-22 04:38:17 -07:00
homeassistant.py fix: Home Assistant event filtering now closed by default (#1169) 2026-03-13 07:40:38 -07:00
matrix.py fix(matrix): duplicate messages, image caching for vision support (#2520) 2026-03-22 09:27:25 -07:00
mattermost.py Merge pull request #2443 from NousResearch/hermes/hermes-31d7db3b 2026-03-22 03:50:35 -07:00
signal.py fix(signal): use id instead of attachmentId in getAttachment RPC 2026-03-21 17:56:12 -07:00
slack.py refactor: centralize slash command registry (#1603) 2026-03-16 23:21:03 -07:00
sms.py fix(gateway): SMS persistent HTTP session + Matrix MIME media types 2026-03-17 04:35:14 -07:00
telegram.py fix(telegram): auto-reconnect polling after network interruption 2026-03-22 09:18:58 -07:00
webhook.py feat(gateway): add webhook platform adapter for external event triggers 2026-03-20 06:33:36 -07:00
whatsapp.py fix(gateway): restart on whatsapp bridge child exit (#2334) 2026-03-21 09:38:52 -07:00