fix: persist upstream streaming error lines by awaiting the message upsert (#27365)
The branch that normalizes plain JSON error lines from streaming upstreams (lines without the SSE data: prefix) called Chats.upsert_message_to_chat_by_id_and_message_id without await. The coroutine was never executed, so the error was never written to the chat and Python emitted a "coroutine was never awaited" RuntimeWarning instead. The frontend still received the error event, but after a reload the message showed no trace of the failure. The parallel error-persist branch further down the same handler already awaits the call; this aligns the two.
This commit is contained in:
1 parent
e769f9ff4f
commit
dd514ee20b
1 file changed
+1
-1
@@ -4116,7 +4116,7 @@ async def streaming_chat_response_handler(response, ctx):
|
|||||||
raw_error = raw_obj.get('error') if isinstance(raw_obj, dict) else None
|
raw_error = raw_obj.get('error') if isinstance(raw_obj, dict) else None
|
||||||
if raw_error:
|
if raw_error:
|
||||||
try:
|
try:
|
||||||
Chats.upsert_message_to_chat_by_id_and_message_id(
|
await Chats.upsert_message_to_chat_by_id_and_message_id(
|
||||||
metadata['chat_id'],
|
metadata['chat_id'],
|
||||||
metadata['message_id'],
|
metadata['message_id'],
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in new issue
Block a user