Skip to content

fix(slack): restore status indicator with Agent Sessions API - #110389

Open
KoNit-K wants to merge 1 commit into
NousResearch:mainfrom
KoNit-K:fix/slack-status-sdk-3-44-110374
Open

KoNit-K wants to merge 1 commit into
NousResearch:mainfrom
KoNit-K:fix/slack-status-sdk-3-44-110374

Conversation

@KoNit-K

@KoNit-K KoNit-K commented Sep 13, 2026 •

Copy link
Copy Markdown

What does this PR do?

Restores the Slack working-status indicator when slack-sdk 3.44 or newer routes status calls through the Agent Sessions API. Agent Sessions now receives its supported lifecycle values while the legacy Slack API keeps its existing text behavior.

Related Issue

Fixes #110374

Type of Change

  • ✅ Bug fix (non-breaking change that fixes an issue)

Changes Made

  • plugins/platforms/slack/adapter.py — map Agent Sessions status requests to supported lifecycle values while retaining the legacy API contract.
  • tests/gateway/test_slack.py — cover lifecycle status mapping for typing, clears, and the existing Agent Sessions route.

How to Test

  • HERMES_PYTHON=/Users/blockkonit./Dev/hermes/hermes-agent/.venv/bin/python scripts/run_tests.sh tests/gateway/test_slack.py — 244 passed.
  • HERMES_PYTHON=/Users/blockkonit./Dev/hermes/hermes-agent/.venv/bin/python scripts/run_tests.sh tests/gateway/test_slack.py::TestAgentSessionsApiRouting — 6 passed.
  • Legacy Slack status routing retains free-form text and empty clears; Agent Sessions sends processing and active.
  • scripts/run_tests.sh tests/gateway/test_slack.py
  • scripts/run_tests.sh tests/gateway/test_slack.py::TestAgentSessionsApiRouting

Evidence

  • BEFORE: the focused probe was RED on origin/main before this change
  • AFTER: - [x] HERMES_PYTHON=/Users/blockkonit./Dev/hermes/hermes-agent/.venv/bin/python scripts/run_tests.sh tests/gateway/test_slack.py — 244 passed. — 244 passed
  • CONTROL: neighboring paths listed in How to Test still pass

Checklist

Code

  • ✅ I've read the Contributing Guide
  • ✅ My commit messages follow Conventional Commits
  • ✅ I searched for existing PRs to make sure this isn't a duplicate
  • ✅ My PR contains only changes related to this fix
  • ✅ I've run relevant tests locally (see How to Test)
  • ✅ I've added tests for my changes
  • ✅ I've tested on my platform: macOS

Documentation & Housekeeping

  • ✅ Documentation update: N/A unless noted in Changes Made
  • ✅ cli-config.yaml.example: N/A
  • ✅ CONTRIBUTING.md or AGENTS.md: N/A
  • ✅ Cross-platform impact considered
  • ✅ Tool descriptions/schemas: N/A

@alt-glitch alt-glitch added type/bug Something isn't working P3 Low — cosmetic, nice to have comp/plugins Plugin system and bundled plugins platform/slack Slack app adapter sweeper:risk-message-delivery Sweeper risk: may drop, duplicate, misroute, or suppress messages labels Sep 13, 2026
@alt-glitch

Copy link
Copy Markdown

This was generated by AI during triage.

Competing with #110391 for the same fix (#110374). #110391 pins the legacy assistant.threads.setStatus (free text, auto-clears on reply); this PR keeps the Agent Sessions route and maps to the processing/active enum. Note #110391's concern that processing does not auto-clear and drops live_status text — worth a maintainer decision rather than merging both.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/plugins Plugin system and bundled plugins P3 Low — cosmetic, nice to have platform/slack Slack app adapter sweeper:risk-message-delivery Sweeper risk: may drop, duplicate, misroute, or suppress messages type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Slack: status indicator silently broken with slack-sdk >= 3.44 (agents.sessions.setStatus rejects free-text and empty status)

2 participants