diff --git a/backend/open_webui/socket/main.py b/backend/open_webui/socket/main.py index bed04c549b..20e78d6c37 100644 --- a/backend/open_webui/socket/main.py +++ b/backend/open_webui/socket/main.py @@ -888,13 +888,15 @@ async def get_event_emitter(request_info, update_db=True): ) elif event_type == 'embeds': - message = await Chats.get_message_by_id_and_message_id( - request_info['chat_id'], - request_info['message_id'], - ) + event_payload = event_data.get('data', {}) + embeds = event_payload.get('embeds', []) - embeds = event_data.get('data', {}).get('embeds', []) - embeds.extend(message.get('embeds', [])) + if not event_payload.get('replace', False): + message = await Chats.get_message_by_id_and_message_id( + request_info['chat_id'], + request_info['message_id'], + ) + embeds.extend(message.get('embeds', [])) await Chats.upsert_message_to_chat_by_id_and_message_id( request_info['chat_id'],