fix(gateway): queue interrupts during in-flight context compression
With the default busy_input_mode=interrupt, a burst of rapid gateway messages arriving while context compression is in flight could interrupt the current turn and start a fresh turn against the pre-rotation parent session. Because compression is interrupt-immune (#23975), the still- running compression later rotates the id out from under that new turn, and if the new turn also grew past the compression threshold it started its own uncancellable compression on the same stale parent — forking multiple orphaned one-shot sibling continuations (#56391). While a state.db compression lock is held for the session, demote 'interrupt' busy-input mode to 'queue' semantics (mirroring the subagent protection in #30170), so the follow-up message waits for the in-flight compression + its id rotation to land instead of racing a new turn against the stale parent. Ack copy explains the compression demotion. Fixes #56391.
This commit is contained in:
parent
1641441837
commit
5eaccf5802
3 changed files with 242 additions and 0 deletions
|
|
@ -45,6 +45,7 @@ ACP_REGISTRY_MANIFEST = REPO_ROOT / "acp_registry" / "agent.json"
|
|||
|
||||
# Auto-extracted from noreply emails + manual overrides
|
||||
AUTHOR_MAP = {
|
||||
"1079826437@qq.com": "nankingjing", # PR #56404 salvage (gateway: while a state.db compression lock is held for the session, demote busy_input_mode 'interrupt' to 'queue' so a rapid message burst can't interrupt and fork orphaned compression siblings off a stale parent; #56391)
|
||||
"ud@arubangles.com": "udatny", # PR #29433 salvage (subdirectory_hints: catch RuntimeError from Path.expanduser()/Path.home() so a literal ~ in tool-call args — e.g. LLM "~500-700" or ~unknownuser — can't escape the hint walker and crash the conversation loop)
|
||||
"brett@personalfinancelab.com": "brett539", # PR #49369 salvage (cap Telegram initialize() with asyncio.wait_for(HERMES_TELEGRAM_INIT_TIMEOUT, default 30s) per attempt so an unreachable fallback-IP connect chain can't block gateway startup indefinitely; add WARNING progress logs before DoH discovery and each connect attempt)
|
||||
"randomuser2026x@proton.me": "randomuser2026x", # PR #50204 salvage (gateway /restart under systemd: probe both system + --user scope for MainPID instead of hardcoding --user; always exit 75 so RestartForceExitStatus=75 revives the unit under Restart=on-failure too, not just Restart=always)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue