From ad4783a8dbcb9821d519e21c14fb51608fc2cc9b Mon Sep 17 00:00:00 2001 From: silentoplayz Date: Mon, 12 Oct 2026 22:43:20 -0400 Subject: [PATCH] fix: deleting a message in the middle of a chat keeps the earlier messages in the model's context --- backend/open_webui/models/chats.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/backend/open_webui/models/chats.py b/backend/open_webui/models/chats.py index 933dcce4dc..21f8066f77 100644 --- a/backend/open_webui/models/chats.py +++ b/backend/open_webui/models/chats.py @@ -1372,6 +1372,7 @@ class ChatTable: self._repair_chat_current_id(chat) history = chat.get('history', {}) + parent_id = ((history.get('messages') or {}).get(message_id) or {}).get('parentId') deleted_ids = self.delete_message_from_history(history, message_id) await ChatMessages.delete_message_ids_by_chat_id(id, deleted_ids, db=session) if not deleted_ids: @@ -1382,6 +1383,12 @@ class ChatTable: return ChatModel.model_validate(chat_item) + for mid, message in (history.get('messages') or {}).items(): + if message.get('parentId') == parent_id: + await ChatMessages.upsert_message( + mid, id, message.get('user_id') or chat_item.user_id, message, db=session + ) + chat['history'] = history chat_item.chat = chat chat_item.title = self._clean_null_bytes(chat.get('title', 'New Chat'))