teknium1
5a2fcaab39
fix(gateway): harden Telegram polling conflict handling
- detect Telegram getUpdates conflicts and stop polling cleanly instead of retry-spamming forever
- add a machine-local token-scoped lock so different HERMES_HOME profiles on the same host can't poll the same bot token at once
- persist gateway runtime health/fatal adapter state and surface it in ● hermes-gateway.service - Hermes Agent Gateway - Messaging Platform Integration
Loaded: loaded (/home/teknium/.config/systemd/user/hermes-gateway.service; enabled; preset: enabled)
Active: active (running) since Sat 2026-03-14 09:25:35 PDT; 2h 45min ago
Invocation: 8879379b25994201b98381f4bd80c2af
Main PID: 1147926 (python)
Tasks: 16 (limit: 76757)
Memory: 151.4M (peak: 168.1M)
CPU: 47.883s
CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/hermes-gateway.service
├─1147926 /home/teknium/.hermes/hermes-agent/venv/bin/python -m hermes_cli.main gateway run --replace
└─1147966 node /home/teknium/.hermes/hermes-agent/scripts/whatsapp-bridge/bridge.js --port 3000 --session /home/teknium/.hermes/whatsapp/session --mode self-chat
Mar 14 09:27:03 teknium-dev python[1147926]: 🔄 Retrying API call (2/3)...
Mar 14 09:27:04 teknium-dev python[1147926]: [409B blob data]
Mar 14 09:27:04 teknium-dev python[1147926]: Content: ''
Mar 14 09:27:04 teknium-dev python[1147926]: ❌ Max retries (3) for empty content exceeded.
Mar 14 09:27:07 teknium-dev python[1147926]: [1K blob data]
Mar 14 09:27:07 teknium-dev python[1147926]: Content: ''
Mar 14 09:27:07 teknium-dev python[1147926]: 🔄 Retrying API call (1/3)...
Mar 14 09:27:12 teknium-dev python[1147926]: [1.7K blob data]
Mar 14 09:27:12 teknium-dev python[1147926]: Content: ''
Mar 14 09:27:12 teknium-dev python[1147926]: 🔄 Retrying API call (2/3)...
⚠ Installed gateway service definition is outdated
Run: hermes gateway restart # auto-refreshes the unit
✓ Gateway service is running
✓ Systemd linger is enabled (service survives logout)
- cleanly exit non-retryable startup conflicts without triggering service restart loops
Tests:
- gateway status runtime-state helpers
- Telegram token-lock and polling-conflict behavior
- GatewayRunner clean exit on non-retryable startup conflict
- CLI runtime health summary
2026-03-14 12:11:23 -07:00
..
2026-03-12 01:52:53 -07:00
2026-03-13 09:03:48 -07:00
2026-03-12 01:35:47 -07:00
2026-03-13 23:59:18 -07:00
2026-03-12 01:23:28 -07:00
2026-03-12 08:20:12 -07:00
2026-03-11 02:56:19 -07:00
2026-03-13 21:34:01 -07:00
2026-02-20 23:23:32 -08:00
2026-03-14 14:25:28 +03:00
2026-03-14 10:35:14 -07:00
2026-02-21 16:21:19 -08:00
2026-03-11 03:06:15 -07:00
2026-03-14 08:05:30 -07:00
2026-03-14 06:11:33 -07:00
2026-03-14 12:11:23 -07:00
2026-03-14 11:27:23 -07:00
2026-03-14 03:35:37 -07:00
2026-02-20 23:23:32 -08:00
2026-03-13 23:59:47 -07:00
2026-03-14 10:40:57 -07:00
2026-03-11 06:34:32 -07:00
2026-03-14 11:27:02 -07:00
2026-03-14 03:12:52 -07:00
2026-03-14 03:35:37 -07:00
2026-03-11 06:34:32 -07:00
2026-02-20 23:23:32 -08:00