Spaces:
Building
Building
Update websocket_handler.py
Browse files- websocket_handler.py +23 -3
websocket_handler.py
CHANGED
@@ -837,14 +837,34 @@ async def generate_and_stream_tts(
|
|
837 |
log_info("🛑 TTS streaming cancelled", session_id=session.session.session_id)
|
838 |
raise
|
839 |
except Exception as e:
|
|
|
840 |
log_error(
|
841 |
f"❌ TTS generation error",
|
842 |
-
error=
|
843 |
traceback=traceback.format_exc(),
|
844 |
session_id=session.session.session_id
|
845 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
846 |
if session.is_websocket_active:
|
847 |
await websocket.send_json({
|
848 |
-
"type": "
|
849 |
-
"
|
|
|
850 |
})
|
|
|
837 |
log_info("🛑 TTS streaming cancelled", session_id=session.session.session_id)
|
838 |
raise
|
839 |
except Exception as e:
|
840 |
+
error_msg = str(e)
|
841 |
log_error(
|
842 |
f"❌ TTS generation error",
|
843 |
+
error=error_msg,
|
844 |
traceback=traceback.format_exc(),
|
845 |
session_id=session.session.session_id
|
846 |
)
|
847 |
+
|
848 |
+
# Quota hatası için özel handling
|
849 |
+
if "quota_exceeded" in error_msg:
|
850 |
+
if session.is_websocket_active:
|
851 |
+
await websocket.send_json({
|
852 |
+
"type": "tts_error",
|
853 |
+
"message": "TTS servisinin kredi limiti aşıldı. Yanıt sadece metin olarak gösterilecek.",
|
854 |
+
"error_type": "quota_exceeded"
|
855 |
+
})
|
856 |
+
else:
|
857 |
+
if session.is_websocket_active:
|
858 |
+
await websocket.send_json({
|
859 |
+
"type": "error",
|
860 |
+
"message": f"TTS error: {error_msg}"
|
861 |
+
})
|
862 |
+
|
863 |
+
# TTS hatası durumunda idle'a dön
|
864 |
+
await session.change_state(ConversationState.IDLE)
|
865 |
if session.is_websocket_active:
|
866 |
await websocket.send_json({
|
867 |
+
"type": "state_change",
|
868 |
+
"from": "processing_tts",
|
869 |
+
"to": "idle"
|
870 |
})
|