From 8466268ca58fe1422cadcb6b134b18bc0860a597 Mon Sep 17 00:00:00 2001 From: helix4u <4317663+helix4u@users.noreply.github.com> Date: Sat, 18 Apr 2026 21:32:49 -0600 Subject: [PATCH] fix(gateway): keep typing loop overrides backward-compatible --- gateway/platforms/base.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/gateway/platforms/base.py b/gateway/platforms/base.py index 1f26ed854..dc0f22d2a 100644 --- a/gateway/platforms/base.py +++ b/gateway/platforms/base.py @@ -6,6 +6,7 @@ and implement the required methods. """ import asyncio +import inspect import ipaddress import logging import os @@ -1743,11 +1744,17 @@ class BasePlatformAdapter(ABC): # Start continuous typing indicator (refreshes every 2 seconds) _thread_metadata = {"thread_id": event.source.thread_id} if event.source.thread_id else None + _keep_typing_kwargs = {"metadata": _thread_metadata} + try: + _keep_typing_sig = inspect.signature(self._keep_typing) + except (TypeError, ValueError): + _keep_typing_sig = None + if _keep_typing_sig is None or "stop_event" in _keep_typing_sig.parameters: + _keep_typing_kwargs["stop_event"] = interrupt_event typing_task = asyncio.create_task( self._keep_typing( event.source.chat_id, - metadata=_thread_metadata, - stop_event=interrupt_event, + **_keep_typing_kwargs, ) )