Fix infinite interrupt loop in gateway by consuming pending messages with .pop() and clearing interrupt events before recursion

- Added logic to clear the adapter's interrupt event to prevent infinite loops during message processing.
- Updated the get_pending_message method to pop messages from the pending queue, ensuring proper message handling.
This commit is contained in:
teknium 2026-02-11 00:05:30 +00:00
parent 62ba69a29d
commit a32ad1a656
2 changed files with 8 additions and 1 deletions

View file

@ -286,7 +286,7 @@ class BasePlatformAdapter(ABC):
def get_pending_message(self, session_key: str) -> Optional[MessageEvent]:
"""Get and clear any pending message for a session."""
return self._pending_messages.get(session_key)
return self._pending_messages.pop(session_key, None)
def build_source(
self,