fix(approval): wake blocked gateway approvals on session cleanup
This commit is contained in:
@@ -400,8 +400,8 @@ def unregister_gateway_notify(session_key: str) -> None:
|
||||
with _lock:
|
||||
_gateway_notify_cbs.pop(session_key, None)
|
||||
entries = _gateway_queues.pop(session_key, [])
|
||||
for entry in entries:
|
||||
entry.event.set()
|
||||
for entry in entries:
|
||||
entry.event.set()
|
||||
|
||||
|
||||
def resolve_gateway_approval(session_key: str, choice: str,
|
||||
@@ -475,7 +475,12 @@ def clear_session(session_key: str) -> None:
|
||||
_session_approved.pop(session_key, None)
|
||||
_session_yolo.discard(session_key)
|
||||
_pending.pop(session_key, None)
|
||||
_gateway_queues.pop(session_key, None)
|
||||
entries = _gateway_queues.pop(session_key, [])
|
||||
for entry in entries:
|
||||
# Session-boundary cleanup should cancel any blocked approval waits
|
||||
# immediately so the old run can unwind instead of idling until timeout.
|
||||
entry.result = "deny"
|
||||
entry.event.set()
|
||||
|
||||
|
||||
def is_session_yolo_enabled(session_key: str) -> bool:
|
||||
|
||||
Reference in New Issue
Block a user