mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-04-25 00:51:20 +00:00
fix: store token lock identity at acquire time for Slack and Discord
Community review (devoruncommented) correctly identified that the Slack adapter re-read SLACK_APP_TOKEN from os.getenv() during disconnect, which could differ from the value used during connect if the environment changed. Discord had the same pattern with self.config.token (less risky but still not bulletproof). Both now follow the Telegram pattern: store the token identity on self at acquire time, use the stored value for release, clear after release. Also fixes docs: alias naming was hermes-<name> in docs but actual implementation creates <name> directly (e.g. ~/.local/bin/coder not ~/.local/bin/hermes-coder).
This commit is contained in:
parent
b151d5f7a7
commit
442888a05b
2 changed files with 10 additions and 6 deletions
|
|
@ -95,6 +95,7 @@ class SlackAdapter(BasePlatformAdapter):
|
|||
try:
|
||||
# Acquire scoped lock to prevent duplicate app token usage
|
||||
from gateway.status import acquire_scoped_lock
|
||||
self._token_lock_identity = app_token
|
||||
acquired, existing = acquire_scoped_lock('slack-app-token', app_token, metadata={'platform': 'slack'})
|
||||
if not acquired:
|
||||
owner_pid = existing.get('pid') if isinstance(existing, dict) else None
|
||||
|
|
@ -149,12 +150,12 @@ class SlackAdapter(BasePlatformAdapter):
|
|||
logger.warning("[Slack] Error while closing Socket Mode handler: %s", e, exc_info=True)
|
||||
self._running = False
|
||||
|
||||
# Release the token lock
|
||||
# Release the token lock (use stored identity, not re-read env)
|
||||
try:
|
||||
from gateway.status import release_scoped_lock
|
||||
app_token = os.getenv("SLACK_APP_TOKEN")
|
||||
if app_token:
|
||||
release_scoped_lock('slack-app-token', app_token)
|
||||
if getattr(self, '_token_lock_identity', None):
|
||||
release_scoped_lock('slack-app-token', self._token_lock_identity)
|
||||
self._token_lock_identity = None
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue