fix(channels): interrupt in-flight telegram requests on newer sender messages
This commit is contained in:
parent
d9a94fc763
commit
ef82c7dbcd
17 changed files with 669 additions and 115 deletions
|
|
@ -138,8 +138,17 @@ Field names differ by channel:
|
|||
[channels_config.telegram]
|
||||
bot_token = "123456:telegram-token"
|
||||
allowed_users = ["*"]
|
||||
stream_mode = "off" # optional: off | partial
|
||||
draft_update_interval_ms = 1000 # optional: edit throttle for partial streaming
|
||||
mention_only = false # optional: require @mention in groups
|
||||
interrupt_on_new_message = false # optional: cancel in-flight same-sender same-chat request
|
||||
```
|
||||
|
||||
Telegram notes:
|
||||
|
||||
- `interrupt_on_new_message = true` preserves interrupted user turns in conversation history, then restarts generation on the newest message.
|
||||
- Interruption scope is strict: same sender in the same chat. Messages from different chats are processed independently.
|
||||
|
||||
### 4.2 Discord
|
||||
|
||||
```toml
|
||||
|
|
|
|||
|
|
@ -188,6 +188,8 @@ Notes:
|
|||
- If using cloud APIs (OpenAI, Anthropic, etc.), you can reduce this to `60` or lower.
|
||||
- Values below `30` are clamped to `30` to avoid immediate timeout churn.
|
||||
- When a timeout occurs, users receive: `⚠️ Request timed out while waiting for the model. Please try again.`
|
||||
- Telegram-only interruption behavior is controlled with `channels_config.telegram.interrupt_on_new_message` (default `false`).
|
||||
When enabled, a newer message from the same sender in the same chat cancels the in-flight request and preserves interrupted user context.
|
||||
|
||||
See detailed channel matrix and allowlist behavior in [channels-reference.md](channels-reference.md).
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue