From e17dfae72e352e244edad5c8885ee5ae7db219f1 Mon Sep 17 00:00:00 2001 From: G30 <50341825+silentoplayz@users.noreply.github.com> Date: Tue, 11 Aug 2026 19:38:10 -0400 Subject: [PATCH] fix: enforce the image generation flag on the legacy chat feature path (#27759) * fix: enforce the image generation flag on the legacy chat feature path * fix: refresh the config store when image generation is disabled in admin settings * fix: hide active feature pills when the feature is no longer available --- backend/open_webui/utils/middleware.py | 13 +++++++++++++ src/lib/components/admin/Settings/Images.svelte | 3 ++- src/lib/components/chat/MessageInput.svelte | 6 +++--- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/backend/open_webui/utils/middleware.py b/backend/open_webui/utils/middleware.py index 338b652d45..a269843b73 100644 --- a/backend/open_webui/utils/middleware.py +++ b/backend/open_webui/utils/middleware.py @@ -1716,6 +1716,19 @@ async def chat_image_generation_handler(request: Request, form_data: dict, extra system_message_content = f'Image generation was attempted but failed. The system is currently unable to generate the image. Tell the user that the following error occurred: {error_message}' + elif not await Config.get('image_generation.enable'): + await __event_emitter__( + { + 'type': 'status', + 'data': { + 'description': 'Image generation is disabled', + 'done': True, + }, + } + ) + + system_message_content = 'Image generation was requested but the feature is currently disabled by the administrator, so no image was created. Let the user know that image generation is currently unavailable.' + else: # Create image(s) if await Config.get('image_generation.prompt.enable'): diff --git a/src/lib/components/admin/Settings/Images.svelte b/src/lib/components/admin/Settings/Images.svelte index 1eb8421409..88e595571b 100644 --- a/src/lib/components/admin/Settings/Images.svelte +++ b/src/lib/components/admin/Settings/Images.svelte @@ -150,8 +150,9 @@ }); if (res) { + backendConfig.set(await getBackendConfig()); + if (res.ENABLE_IMAGE_GENERATION) { - backendConfig.set(await getBackendConfig()); getModels(); } diff --git a/src/lib/components/chat/MessageInput.svelte b/src/lib/components/chat/MessageInput.svelte index f276db9de7..f7abcdc701 100644 --- a/src/lib/components/chat/MessageInput.svelte +++ b/src/lib/components/chat/MessageInput.svelte @@ -2241,7 +2241,7 @@ {/if} {/each} - {#if webSearchEnabled} + {#if webSearchEnabled && showWebSearchButton}