From fb752be8c9aac7b0eeef99430945bcf8a854ebc7 Mon Sep 17 00:00:00 2001 From: Mumuni Date: Fri, 25 Sep 2026 15:31:28 +0000 Subject: [PATCH] =?UTF-8?q?fix(zulip):=20@all-bots=20fallback=20default=20?= =?UTF-8?q?was=20user=5Fid=3D1=20=E2=80=94=20never=20valid=20in=20SyslogGH?= =?UTF-8?q?=20realm?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Dynamic resolution (ADR-006) overrides this on connect, but when the /api/v1/users call fails the adapter fell back to 1, silently dropping every @all-bots mention. The realm's all-bots user is 20 (verified 2026-09-25: 'Resolved @all-bots user_id=20 from all-bots@chat.sysloggh.net'; CONTRACT_VERIFICATION_2026-06-29 fixed the Pi config to 20 for the same reason). Align the Hermes-side fallback with the verified realm value. --- plugins/platforms/zulip/adapter.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/plugins/platforms/zulip/adapter.py b/plugins/platforms/zulip/adapter.py index 1e25176..f78074f 100644 --- a/plugins/platforms/zulip/adapter.py +++ b/plugins/platforms/zulip/adapter.py @@ -64,7 +64,11 @@ logger = logging.getLogger(__name__) # Constants DEFAULT_STREAM = "agent-hub" -DEFAULT_ALL_BOTS_USER_ID = 1 +# SyslogGH realm: the @all-bots user has user_id=20 (verified via +# /api/v1/users and CONTRACT_VERIFICATION_2026-06-29). Dynamic resolution +# on connect overrides this; this value is the fallback when that fails — +# user_id=1 was never valid in this realm and silently dropped @all-bots. +DEFAULT_ALL_BOTS_USER_ID = 20 DEFAULT_POLL_INTERVAL = 3.0 MAX_ZULIP_MESSAGE = 10000 TRUNCATION_NOTICE = "\n\n[...truncated at Zulip limit]"