open-webui/backend
DrMelone 5835cd93cf fix: isolate admin-mode state, harden deepMerge, disable stale defaults cache
- InterfaceSettings now reads from a reactive activeSettings alias
  (initialSettings in admin mode, $settings otherwise) instead of
  reading $settings directly. toggleTitleAutoGenerate spreads
  activeSettings.title and the chat-bubble template branch uses the
  local chatBubble state, so the admin defaults modal no longer mixes
  the current admin's personal settings into the payload or the render
  logic.
- deepMerge skips __proto__, constructor, and prototype keys before
  copying. Inputs come from API payloads and localStorage, both
  untrusted channels, and a crafted payload could otherwise mutate the
  object prototype chain or reassign the constructor during app init.
- GET /configs/interface/defaults swaps Cache-Control: private,
  max-age=600 for no-store. The endpoint is fetched on every
  authenticated app load and merged into runtime settings, so a
  10-minute freshness window made admin "save defaults" and "reset all
  users" appear to have no effect for up to ten minutes. The read is
  cheap (in-memory config), so skipping the cache is fine.
2026-04-13 00:58:29 +02:00
..
data refac: mv backend files to /open_webui dir 2024-09-04 16:54:48 +02:00
open_webui fix: isolate admin-mode state, harden deepMerge, disable stale defaults cache 2026-04-13 00:58:29 +02:00
.dockerignore fix: litellm config issue 2024-02-24 22:35:11 -08:00
.gitignore refac 2024-09-06 04:59:20 +02:00
dev.sh refac 2026-03-24 19:43:30 -05:00
requirements-min.txt refac: async db 2026-04-12 14:22:11 -05:00
requirements.txt refac: async db 2026-04-12 14:22:11 -05:00
start.sh refac 2026-03-24 19:43:30 -05:00
start_windows.bat refac 2026-03-24 19:43:30 -05:00