Skip to content

Commit adcc50d

Browse files
committed
refac
1 parent 6b66cb5 commit adcc50d

2 files changed

Lines changed: 23 additions & 16 deletions

File tree

backend/open_webui/utils/middleware.py

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2146,24 +2146,30 @@ async def process_chat_payload(request, form_data, user, metadata, model):
21462146
# Check if the request has chat_id and is inside of a folder
21472147
# Uses lightweight column query — only fetches folder_id, not the full chat JSON blob
21482148
chat_id = metadata.get('chat_id', None)
2149+
folder_id = None
21492150
if chat_id and user:
21502151
folder_id = Chats.get_chat_folder_id(chat_id, user.id)
2151-
if folder_id:
2152-
folder = Folders.get_folder_by_id_and_user_id(folder_id, user.id)
2153-
2154-
if folder and folder.data:
2155-
if 'system_prompt' in folder.data:
2156-
form_data = apply_system_prompt_to_body(folder.data['system_prompt'], form_data, metadata, user)
2157-
if 'files' in folder.data:
2158-
if metadata.get('params', {}).get('function_calling') != 'native':
2159-
form_data['files'] = [
2160-
*folder.data['files'],
2161-
*form_data.get('files', []),
2162-
]
2163-
else:
2164-
# Native FC: skip RAG injection, builtin tools
2165-
# will read folder knowledge from metadata.
2166-
metadata['folder_knowledge'] = folder.data['files']
2152+
2153+
# Fallback: use folder_id from metadata (temporary chats have no DB record)
2154+
if not folder_id:
2155+
folder_id = metadata.get('folder_id', None)
2156+
2157+
if folder_id and user:
2158+
folder = Folders.get_folder_by_id_and_user_id(folder_id, user.id)
2159+
2160+
if folder and folder.data:
2161+
if 'system_prompt' in folder.data:
2162+
form_data = apply_system_prompt_to_body(folder.data['system_prompt'], form_data, metadata, user)
2163+
if 'files' in folder.data:
2164+
if metadata.get('params', {}).get('function_calling') != 'native':
2165+
form_data['files'] = [
2166+
*folder.data['files'],
2167+
*form_data.get('files', []),
2168+
]
2169+
else:
2170+
# Native FC: skip RAG injection, builtin tools
2171+
# will read folder knowledge from metadata.
2172+
metadata['folder_knowledge'] = folder.data['files']
21672173

21682174
# Model "Knowledge" handling
21692175
user_message = get_last_user_message(form_data['messages'])

src/lib/components/chat/Chat.svelte

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2221,6 +2221,7 @@
22212221
22222222
session_id: $socket?.id,
22232223
chat_id: $chatId,
2224+
folder_id: $selectedFolder?.id ?? undefined,
22242225
22252226
id: responseMessageId,
22262227
parent_id: userMessage?.id ?? null,

0 commit comments

Comments
 (0)