open-webui/backend/open_webui/routers
Classic298 22d522c558
fix: drop a deleted plugin's source from the content cache (#29983)
Deleting a tool or a function leaves its full source text in memory for the life of the process. Each delete handler pops the module cache and leaves the matching content cache untouched, so the code of every plugin ever deleted stays resident.

Both handlers now pop the content cache next to the module cache. Measured over 200 deletes of an 8.8KB plugin: 1.78 MB of source retained per kind before, nothing after.

This is memory only, never a stale module. A cache hit needs the id present in both caches and delete already popped the module cache, so the leftover source could not have produced one.

The two routers are one change because it is the same pair of lines at the same point in sibling handlers, with no per-site reasoning and no reason to revert one without the other.
2026-09-13 20:21:40 -04:00
..
analytics.py refac 2026-06-29 01:38:41 -05:00
audio.py refac 2026-09-06 16:48:30 -04:00
auths.py refac 2026-09-06 17:10:01 -04:00
automations.py refac 2026-08-13 17:26:38 -06:00
calendar.py refac 2026-06-29 13:03:14 -05:00
channels.py fix: honor ENABLE_PROFILE_IMAGE_URL_FORWARDING for channel webhook profile images (#29889) 2026-09-12 16:06:34 -05:00
chats.py refac 2026-08-25 13:18:38 -04:00
configs.py refac 2026-09-07 12:15:20 -04:00
evaluations.py refac 2026-09-06 16:48:30 -04:00
files.py refac 2026-09-13 20:00:29 -04:00
folders.py fix: keep folder parent references acyclic (#28748) 2026-08-24 17:06:19 -04:00
functions.py fix: drop a deleted plugin's source from the content cache (#29983) 2026-09-13 20:21:40 -04:00
groups.py refac 2026-06-29 05:47:21 -05:00
images.py refac 2026-09-12 17:02:44 -04:00
knowledge.py refac 2026-09-09 17:09:53 -04:00
memories.py refac 2026-08-11 17:35:05 -06:00
models.py refac 2026-09-12 18:16:19 -04:00
notes.py refac 2026-08-25 13:18:38 -04:00
notifications.py refac 2026-07-27 19:39:36 -04:00
ollama.py fix: stop forwarding upstream Server and Date headers from the OpenAI and Ollama proxies (#29843) 2026-09-09 16:35:48 -04:00
openai.py fix: stop forwarding upstream Server and Date headers from the OpenAI and Ollama proxies (#29843) 2026-09-09 16:35:48 -04:00
pipelines.py perf: skip pipeline filter session setup when no filters exist (#29146) 2026-08-28 12:22:23 -04:00
prompts.py refac 2026-08-31 00:39:16 -04:00
retrieval.py fix: only log a reranking model change when the request carries one (#29922) 2026-09-12 16:04:14 -05:00
scim.py refac 2026-08-23 13:49:50 -04:00
skills.py perf: stop scanning every skill on each listing and chat turn (#28798) 2026-08-19 11:07:33 -07:00
tasks.py refac 2026-08-11 01:15:05 -06:00
terminals.py refac 2026-09-12 18:53:22 -04:00
tools.py fix: drop a deleted plugin's source from the content cache (#29983) 2026-09-13 20:21:40 -04:00
users.py refac 2026-09-07 14:46:52 -04:00
utils.py refac 2026-09-06 17:27:30 -04:00