open-webui/backend/open_webui/models
Classic298 23b3a69bc2
fix: keep folder parent references acyclic (#28748)
Moving a folder under one of its own subfolders was accepted. A folder in a parent loop is never a root, so it and everything under it silently disappeared from the sidebar, and there was no way to get it back from the UI.

The move is now rejected with a 400, folders whose parent chain loops are put back at the root on the next folder list, and the folder tree traversals skip ids they have already visited so existing data in that state stays workable.
2026-08-24 17:06:19 -04:00
..
access_grants.py fix: list publicly shared read-only notes in the Read Only view (#27637) 2026-08-17 01:40:56 -06:00
auths.py refac 2026-07-27 04:50:07 -04:00
automations.py fix: match both JSON text spellings when searching serialised JSON columns (#28399) 2026-08-17 01:24:05 -06:00
calendar.py fix: treat a non-numeric calendar alert_minutes as unset (#28790) 2026-08-19 11:16:00 -07:00
channels.py refac 2026-08-10 20:00:43 -06:00
chat_messages.py fix: index the chat queries that make large SQLite instances unusable (#27663) 2026-08-23 16:11:54 -05:00
chats.py fix: index the chat queries that make large SQLite instances unusable (#27663) 2026-08-23 16:11:54 -05:00
config.py refac 2026-08-13 15:02:18 -06:00
feedbacks.py perf: drop redundant session.refresh calls after commit across the model layer (#27381) 2026-07-23 18:08:00 -05:00
files.py perf: drop redundant session.refresh calls after commit across the model layer (#27381) 2026-07-23 18:08:00 -05:00
folders.py fix: keep folder parent references acyclic (#28748) 2026-08-24 17:06:19 -04:00
functions.py fix: prevent startup crash when function/tool has null user_id (#26850) 2026-07-24 00:00:37 -05:00
groups.py perf: index group_member on (user_id, group_id) (#27822) 2026-07-31 19:09:15 -05:00
knowledge.py perf: resolve group membership once per folder listing instead of once per entry (#28810) 2026-08-19 11:16:29 -07:00
memories.py refac 2026-07-24 01:54:36 -04:00
messages.py chore: remove dead json imports (#27815) 2026-07-31 17:25:40 -04:00
models.py perf: filter workspace models by access in SQL instead of loading every model (#28795) 2026-08-19 18:15:01 -07:00
notes.py refac 2026-08-10 19:46:46 -06:00
oauth_sessions.py refac 2026-07-31 17:41:14 -04:00
prompt_history.py chore: remove dead json imports (#27815) 2026-07-31 17:25:40 -04:00
prompts.py fix: match both JSON text spellings when searching serialised JSON columns (#28399) 2026-08-17 01:24:05 -06:00
shared_chats.py feat(ui): add 'Unshare All Shared Chats' button to Shared Chats modal (#25848) 2026-06-17 03:06:41 +02:00
skills.py perf: stop scanning every skill on each listing and chat turn (#28798) 2026-08-19 11:07:33 -07:00
tags.py perf: build debug log messages lazily so disabled debug logs cost nothing (#27834) 2026-07-31 19:09:01 -05:00
tools.py refac 2026-08-23 01:31:30 -04:00
users.py refac 2026-08-23 13:49:50 -04:00