mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-09 13:21:42 +00:00
The #22773 heuristic classified any telegram:<positive_chat_id>:<numeric_thread_id> cron target as a Bot API channel Direct-Messages topic and routed it via direct_messages_topic_id, which nulls message_thread_id. A normal forum-style topic inside a private chat has the identical shape, so every such cron delivery landed in General instead of the target thread (#52060). It also means the only way to address a genuine channel DM topic was this same ambiguous guess. Disambiguate with the real runtime signal instead: probe the live adapter's get_chat_info once and route via direct_messages_topic_id only when the chat is actually a channel; everything else (private forum topic, forum supergroup, group) and any probe failure fall back to message_thread_id — parity with 0.16.0 and with live reply routing. This fixes forum-topic delivery AND makes genuine channel DM-topic cron delivery work correctly. |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| conftest.py | ||
| test_blueprint_catalog.py | ||
| test_claim_job_for_fire.py | ||
| test_codex_execution_paths.py | ||
| test_compute_next_run_last_run_at.py | ||
| test_cron_context_from.py | ||
| test_cron_inactivity_timeout.py | ||
| test_cron_no_agent.py | ||
| test_cron_profile_isolation.py | ||
| test_cron_prompt_injection_skill.py | ||
| test_cron_provider_pin.py | ||
| test_cron_script.py | ||
| test_cron_workdir.py | ||
| test_cronjob_schema.py | ||
| test_file_permissions.py | ||
| test_jobs.py | ||
| test_jobs_changed_notify.py | ||
| test_jobs_crossprocess_lock.py | ||
| test_parallel_pool.py | ||
| test_rewrite_skill_refs.py | ||
| test_run_one_job.py | ||
| test_scheduler.py | ||
| test_scheduler_mcp_init.py | ||
| test_scheduler_provider.py | ||
| test_suggestions.py | ||
| test_terminal_cwd_lock.py | ||