Skip to content

fix(gateway): add missing platforms to channel directory session discovery - #7416

Closed
sprmn24 wants to merge 1 commit into
NousResearch:mainfrom
sprmn24:fix/channel-directory-missing-platforms
Closed

fix(gateway): add missing platforms to channel directory session discovery#7416
sprmn24 wants to merge 1 commit into
NousResearch:mainfrom
sprmn24:fix/channel-directory-missing-platforms

Conversation

@sprmn24

@sprmn24 sprmn24 commented Apr 10, 2026

Copy link
Copy Markdown
Contributor

What does this PR do?

Six platforms were missing from the session-based channel discovery list in gateway/channel_directory.py. These platforms cannot enumerate chats directly and need the same session-history fallback as the other platforms.

Type of Change

  • Bug fix

Changes Made

  • Added matrix, mattermost, dingtalk, feishu, wecom, and homeassistant to the session-based discovery tuple
  • Updated the comment to be generic rather than listing specific platform names

Root Cause

The original list only included telegram, whatsapp, signal, email, sms, and bluebubbles. When new platforms were added to the gateway, the channel directory was not updated to include them, so /channels and the send_message tool would return empty results for those platforms.

How to Test

# Configure any of the missing platforms (e.g. matrix, mattermost)
# Run: hermes gateway
# Ask the agent: 'what channels do you have access to?'
# The agent should now list sessions from those platforms

Checklist

  • Only touches the affected list and comment
  • No new dependencies
  • Consistent with how other platforms are handled

…overy

matrix, mattermost, dingtalk, feishu, wecom, and homeassistant were
missing from the session-based channel discovery list. These platforms
cannot enumerate chats directly and need the same fallback as telegram,
whatsapp, signal, email, sms, and bluebubbles.

Also updated the comment to be generic rather than listing specific
platform names.
teknium1 added a commit that referenced this pull request Apr 10, 2026
… hardcoded list

Six platforms (matrix, mattermost, dingtalk, feishu, wecom, homeassistant)
were missing from the session-based discovery loop, causing /channels and
send_message to return empty results on those platforms.

Instead of adding them to the hardcoded tuple (which would break again when
new platforms are added), derive the list dynamically from the Platform enum.
Only infrastructure entries (local, api_server, webhook) are excluded;
Discord and Slack are skipped automatically because their direct builders
already populate the platforms dict.

Reported by sprmn24 in PR #7416.
teknium1 added a commit that referenced this pull request Apr 11, 2026
… hardcoded list (#7450)

Six platforms (matrix, mattermost, dingtalk, feishu, wecom, homeassistant)
were missing from the session-based discovery loop, causing /channels and
send_message to return empty results on those platforms.

Instead of adding them to the hardcoded tuple (which would break again when
new platforms are added), derive the list dynamically from the Platform enum.
Only infrastructure entries (local, api_server, webhook) are excluded;
Discord and Slack are skipped automatically because their direct builders
already populate the platforms dict.

Reported by sprmn24 in PR #7416.
@teknium1

Copy link
Copy Markdown
Contributor

Merged via PR #7450 — upgraded your fix from a tuple expansion to dynamic Platform enum iteration so this class of bug can't recur when new platforms are added. Thanks for catching the gap, @sprmn24!

@teknium1 teknium1 closed this Apr 11, 2026
Tommyeds pushed a commit to Tommyeds/hermes-agent that referenced this pull request Apr 12, 2026
… hardcoded list (NousResearch#7450)

Six platforms (matrix, mattermost, dingtalk, feishu, wecom, homeassistant)
were missing from the session-based discovery loop, causing /channels and
send_message to return empty results on those platforms.

Instead of adding them to the hardcoded tuple (which would break again when
new platforms are added), derive the list dynamically from the Platform enum.
Only infrastructure entries (local, api_server, webhook) are excluded;
Discord and Slack are skipped automatically because their direct builders
already populate the platforms dict.

Reported by sprmn24 in PR NousResearch#7416.
angelburgosrosado pushed a commit to angelburgosrosado/hermes-agent that referenced this pull request Apr 28, 2026
… hardcoded list

Six platforms (matrix, mattermost, dingtalk, feishu, wecom, homeassistant)
were missing from the session-based discovery loop, causing /channels and
send_message to return empty results on those platforms.

Instead of adding them to the hardcoded tuple (which would break again when
new platforms are added), derive the list dynamically from the Platform enum.
Only infrastructure entries (local, api_server, webhook) are excluded;
Discord and Slack are skipped automatically because their direct builders
already populate the platforms dict.

Reported by sprmn24 in PR NousResearch#7416.
02356abc pushed a commit to 02356abc/hermes-agent that referenced this pull request May 14, 2026
… hardcoded list (NousResearch#7450)

Six platforms (matrix, mattermost, dingtalk, feishu, wecom, homeassistant)
were missing from the session-based discovery loop, causing /channels and
send_message to return empty results on those platforms.

Instead of adding them to the hardcoded tuple (which would break again when
new platforms are added), derive the list dynamically from the Platform enum.
Only infrastructure entries (local, api_server, webhook) are excluded;
Discord and Slack are skipped automatically because their direct builders
already populate the platforms dict.

Reported by sprmn24 in PR NousResearch#7416.
gweeteve pushed a commit to gweeteve/hermes-agent that referenced this pull request Jun 2, 2026
… hardcoded list (NousResearch#7450)

Six platforms (matrix, mattermost, dingtalk, feishu, wecom, homeassistant)
were missing from the session-based discovery loop, causing /channels and
send_message to return empty results on those platforms.

Instead of adding them to the hardcoded tuple (which would break again when
new platforms are added), derive the list dynamically from the Platform enum.
Only infrastructure entries (local, api_server, webhook) are excluded;
Discord and Slack are skipped automatically because their direct builders
already populate the platforms dict.

Reported by sprmn24 in PR NousResearch#7416.
waefrebeorn pushed a commit to waefrebeorn/slermes that referenced this pull request Jul 2, 2026
… hardcoded list (NousResearch#7450)

Six platforms (matrix, mattermost, dingtalk, feishu, wecom, homeassistant)
were missing from the session-based discovery loop, causing /channels and
send_message to return empty results on those platforms.

Instead of adding them to the hardcoded tuple (which would break again when
new platforms are added), derive the list dynamically from the Platform enum.
Only infrastructure entries (local, api_server, webhook) are excluded;
Discord and Slack are skipped automatically because their direct builders
already populate the platforms dict.

Reported by sprmn24 in PR NousResearch#7416.
skappafrost pushed a commit to skappafrost/hermes-agent that referenced this pull request Aug 15, 2026
… hardcoded list (NousResearch#7450)

Six platforms (matrix, mattermost, dingtalk, feishu, wecom, homeassistant)
were missing from the session-based discovery loop, causing /channels and
send_message to return empty results on those platforms.

Instead of adding them to the hardcoded tuple (which would break again when
new platforms are added), derive the list dynamically from the Platform enum.
Only infrastructure entries (local, api_server, webhook) are excluded;
Discord and Slack are skipped automatically because their direct builders
already populate the platforms dict.

Reported by sprmn24 in PR NousResearch#7416.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants