Bläddra i källkod

Fix deadlock in send_message 2FA retry: use run_in_executor for credential refresh

ZiB 4 månader sedan
förälder
incheckning
0671bb0a61
1 ändrade filer med 1 tillägg och 1 borttagningar
  1. 1 1
      room_cal/service_api/_booking.py

+ 1 - 1
room_cal/service_api/_booking.py

@@ -659,7 +659,7 @@ class _BookingClient:
       # GraphQL ISE on send typically means the messaging 2FA session has expired.
       # Re-trigger the SMS challenge and retry once.
       _log.warning('booking send_message ISE on attempt 1 res=%s idempotency=%s — re-triggering credential refresh', reservation_id, idempotency)
-      refresh_booking_cookies()
+      await asyncio.get_running_loop().run_in_executor(None, refresh_booking_cookies)
       self._reload_from_env()
       raw = await self._msg_gql('postFreeTextMessage', _POST_FREE_TEXT_MUTATION, payload, attempt=2)
       msg = ((raw.get('data') or {}).get('chatMessage') or {}).get('postFreeTextMessage') or {}