mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-12 13:52:15 +00:00
fix(cron): prevent multi-target delivery loop crash on per-target failure
The standalone thread-pool fallback in _deliver_result() runs inside the `except RuntimeError:` block (taken when asyncio.run() sees a running loop). When future.result() raised there (SMTP ConnectionError, timeout, etc.), the exception was NOT caught by the sibling `except Exception:` — it escaped _deliver_result() and crashed the whole delivery loop, silently skipping every remaining target. Multi-target delivery (e.g. deliver: 'email:a,email:b') is a documented feature, so this broke a promised contract. Wrap the fallback in its own try/except so a per-target failure is logged with exc_info and the loop continues to the next target. Fixes #47163
This commit is contained in:
parent
d3010b74db
commit
242c9639a8
3 changed files with 99 additions and 4 deletions
|
|
@ -45,6 +45,7 @@ ACP_REGISTRY_MANIFEST = REPO_ROOT / "acp_registry" / "agent.json"
|
|||
|
||||
# Auto-extracted from noreply emails + manual overrides
|
||||
AUTHOR_MAP = {
|
||||
"swissly@users.noreply.github.com": "swissly", # PR #47167 salvage (wrap cron delivery thread-pool fallback in its own try/except so a per-target failure can't escape the except-RuntimeError block and crash the multi-target delivery loop; #47163)
|
||||
"30854794+YLChen-007@users.noreply.github.com": "YLChen-007", # PR #27289 salvage (case-insensitive streaming reasoning-tag filter in cli.py _stream_delta + gateway stream_consumer so mixed-case variants like <Think>/<ThInK> are suppressed, not just the hardcoded case literals)
|
||||
"27672904+kangsoo-bit@users.noreply.github.com": "kangsoo-bit", # PR #47508 salvage (keep Telegram gateway alive on transient bootstrap network errors: best-effort deleteWebhook + resilient start_polling degrade to background recovery instead of failing startup)
|
||||
"259353979+testingbuddies24@users.noreply.github.com": "testingbuddies24", # PR #43192 salvage (strip orphan think-tag close tags in progressive gateway stream so a bare </think> whose open was dropped upstream can't leak to the user)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue