Files
open-webui/backend/open_webui
Classic298 934802e186 fix: enforce features.memories permission on the legacy memory context path (#27668)
Revoking a user's `features.memories` permission removed their access to the memories API and to the native function-calling memory tools, but their stored memories were still injected into the system context on the legacy function-calling path.

The branch in `process_chat_payload` only checked the client-supplied `features['memory']` flag plus the global `memories.system_context.enable` switch, with no user-permission check. `add_memory_context` did not compensate: it only checks `model_allows_memory`, which is a model capability rather than a permission, and the one call inside it that does check the permission (`query_memory`) has its 403 swallowed by a `try/except`, so `Memories.get_memories_by_user_id` and the neighbourhood scan still fed the system prompt.

Gate the branch with the same permission check the native path already performs in `get_builtin_tools`, matching the neighbouring `web_search` and `image_generation` branches.

Only the caller's own memories were injected into the caller's own context, so there was no cross-user exposure. The practical effect was that the permission toggle did not do what its name implies: an admin who revoked it still got memory content injected for that user.
2026-08-10 23:36:27 -06:00
..
2026-08-10 23:22:08 -06:00
2026-08-10 20:00:43 -06:00
2026-08-10 23:13:10 -06:00
2026-07-27 19:39:36 -04:00
2026-07-31 17:41:14 -04:00
2026-08-10 20:13:03 -06:00
2026-07-27 19:39:36 -04:00
2026-08-10 19:08:46 -06:00
2026-07-27 19:39:36 -04:00
2026-08-10 23:13:10 -06:00
2026-07-31 17:41:14 -04:00