From 7f7cd210186cb6a67e028c17974eb210fc7ba9fd Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Mon, 1 Jun 2026 13:34:50 -0700 Subject: [PATCH] refac --- backend/open_webui/models/chats.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/backend/open_webui/models/chats.py b/backend/open_webui/models/chats.py index 1ad6959e5c..ceaa28bef2 100644 --- a/backend/open_webui/models/chats.py +++ b/backend/open_webui/models/chats.py @@ -357,6 +357,23 @@ class ChatTable: db: AsyncSession | None = None, ) -> list[ChatModel]: async with get_async_db_context(db) as session: + # Validate folder_id references — clear any that don't exist + folder_ids = { + f.folder_id for f in chat_import_forms if f.folder_id + } + existing = set() + for fid in folder_ids: + if await Folders.get_folder_by_id_and_user_id(fid, user_id, db=session): + existing.add(fid) + + cleared = 0 + for form in chat_import_forms: + if form.folder_id and form.folder_id not in existing: + form.folder_id = None + cleared += 1 + if cleared: + log.info('Import: cleared %d dangling folder_id(s) for user %s', cleared, user_id) + chats = [] for form_data in chat_import_forms: