From f1ded9409a5523ec27d99635d8b7e7e1a297a4eb Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Tue, 14 Jul 2026 01:13:40 -0400 Subject: [PATCH] refac --- backend/open_webui/models/chats.py | 9 ++++++--- backend/open_webui/utils/middleware.py | 1 + 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/backend/open_webui/models/chats.py b/backend/open_webui/models/chats.py index ce7480807f..d8211a7c47 100644 --- a/backend/open_webui/models/chats.py +++ b/backend/open_webui/models/chats.py @@ -482,6 +482,8 @@ class ChatTable: id: str, chat: dict, db: AsyncSession | None = None, + *, + touch: bool = True, ) -> ChatModel | None: """Persist updated chat content, sanitizing null bytes.""" try: # load the chat record for in-place mutation @@ -493,7 +495,8 @@ class ChatTable: chat_item.chat = self._clean_null_bytes(chat) chat_item.title = self._clean_null_bytes(chat['title']) if 'title' in chat else 'New Chat' - chat_item.updated_at = int(time.time()) + if touch: + chat_item.updated_at = int(time.time()) await session.commit() @@ -724,7 +727,7 @@ class ChatTable: return chat.chat.get('history', {}).get('messages', {}).get(message_id, {}) async def upsert_message_to_chat_by_id_and_message_id( - self, id: str, message_id: str, message: dict + self, id: str, message_id: str, message: dict, *, touch: bool = True ) -> ChatModel | None: chat = await self.get_chat_by_id(id) if chat is None: @@ -793,7 +796,7 @@ class ChatTable: except Exception as e: log.warning(f'Failed to write to chat_message table: {e}') - return await self.update_chat_by_id(id, chat) + return await self.update_chat_by_id(id, chat, touch=touch) async def delete_message_from_chat_by_id_and_message_id(self, id: str, message_id: str) -> ChatModel | None: chat_model = await self.get_chat_by_id(id) diff --git a/backend/open_webui/utils/middleware.py b/backend/open_webui/utils/middleware.py index 4279d56402..17cda8966e 100644 --- a/backend/open_webui/utils/middleware.py +++ b/backend/open_webui/utils/middleware.py @@ -3149,6 +3149,7 @@ async def background_tasks_handler(ctx): { 'followUps': follow_ups, }, + touch=False, ) except Exception as e: