diff --git a/backend/open_webui/models/users.py b/backend/open_webui/models/users.py index 7df3f588cf..a66a95a98c 100644 --- a/backend/open_webui/models/users.py +++ b/backend/open_webui/models/users.py @@ -249,10 +249,16 @@ class UsersTable: ) user_ids = filter.get("user_ids") + group_ids = filter.get("group_ids") + + if isinstance(user_ids, list) and isinstance(group_ids, list): + # If both are empty lists, return no users + if not user_ids and not group_ids: + return {"users": [], "total": 0} + if user_ids: query = query.filter(User.id.in_(user_ids)) - group_ids = filter.get("group_ids") if group_ids: query = query.filter( exists( diff --git a/backend/open_webui/routers/channels.py b/backend/open_webui/routers/channels.py index 37b6d23dfd..e47c98554e 100644 --- a/backend/open_webui/routers/channels.py +++ b/backend/open_webui/routers/channels.py @@ -166,10 +166,8 @@ async def get_channel_users_by_id( permitted_ids = get_permitted_group_and_user_ids("read", channel.access_control) if permitted_ids: - if permitted_ids.get("user_ids"): - filter["user_ids"] = permitted_ids.get("user_ids") - if permitted_ids.get("group_ids"): - filter["group_ids"] = permitted_ids.get("group_ids") + filter["user_ids"] = permitted_ids.get("user_ids") + filter["group_ids"] = permitted_ids.get("group_ids") result = Users.get_users(filter=filter, skip=skip, limit=limit) diff --git a/src/lib/components/channel/ChannelInfoModal/UserList.svelte b/src/lib/components/channel/ChannelInfoModal/UserList.svelte index 1df7c3b30f..151def123c 100644 --- a/src/lib/components/channel/ChannelInfoModal/UserList.svelte +++ b/src/lib/components/channel/ChannelInfoModal/UserList.svelte @@ -93,7 +93,7 @@