From cc503d252870e1d44d8cd9384777ca1396c4bb73 Mon Sep 17 00:00:00 2001 From: Genmin Date: Fri, 1 May 2026 07:17:27 -0700 Subject: [PATCH] fix: ignore empty Feishu env aliases --- .../open_webui/test/utils/test_env_vars.py | 34 +++++++++++++++++++ backend/open_webui/utils/env_vars.py | 2 +- 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/backend/open_webui/test/utils/test_env_vars.py b/backend/open_webui/test/utils/test_env_vars.py index eb118954e1..588641f8bf 100644 --- a/backend/open_webui/test/utils/test_env_vars.py +++ b/backend/open_webui/test/utils/test_env_vars.py @@ -31,6 +31,40 @@ def test_get_env_with_aliases_falls_back_to_legacy_alias(): ) +def test_get_env_with_aliases_skips_empty_documented_env_name(): + environ = { + 'FEISHU_CLIENT_SCOPE': '', + 'FEISHU_OAUTH_SCOPE': 'contact:user.email:readonly', + } + + assert ( + get_env_with_aliases( + 'FEISHU_CLIENT_SCOPE', + 'FEISHU_OAUTH_SCOPE', + default='contact:user.base:readonly', + environ=environ, + ) + == 'contact:user.email:readonly' + ) + + +def test_get_env_with_aliases_skips_empty_aliases_before_default(): + environ = { + 'FEISHU_CLIENT_SCOPE': '', + 'FEISHU_OAUTH_SCOPE': '', + } + + assert ( + get_env_with_aliases( + 'FEISHU_CLIENT_SCOPE', + 'FEISHU_OAUTH_SCOPE', + default='contact:user.base:readonly', + environ=environ, + ) + == 'contact:user.base:readonly' + ) + + def test_get_env_with_aliases_returns_default_when_missing(): assert ( get_env_with_aliases( diff --git a/backend/open_webui/utils/env_vars.py b/backend/open_webui/utils/env_vars.py index 6b3d1a3ac0..573f5841b7 100644 --- a/backend/open_webui/utils/env_vars.py +++ b/backend/open_webui/utils/env_vars.py @@ -12,7 +12,7 @@ def get_env_with_aliases( for name in (env_name, *aliases): value = values.get(name) - if value is not None: + if value is not None and value != '': return value return default