_resolve_thread_id() falls back to _last_inbound_thread[chat_id] when no explicit thread is present. That fallback exists for interactive DMs, where Google Chat spawns a fresh thread per top-level user message and the adapter drops thread_id to keep the session key stable. It also fired for cron deliveries, which carry job_id in their metadata but no thread: the output landed as a reply inside the last inbound thread instead of starting a new top-level message. Bypass the _last_inbound_thread fallback when metadata has a job_id (i.e. the message is an automated cron delivery), so cron output posts at top level unless an explicit thread is requested. |
||
|---|---|---|
| .. | ||
| a2a | ||
| buzz | ||
| dingtalk | ||
| discord | ||
| feishu | ||
| google_chat | ||
| homeassistant | ||
| irc | ||
| line | ||
| matrix | ||
| mattermost | ||
| ntfy | ||
| photon | ||
| raft | ||
| simplex | ||
| slack | ||
| sms | ||
| teams | ||
| telegram | ||
| wecom | ||