feat: Align conditional fetching with conditional rendering for API Keys and Channels (#118) (#20043)

Fixes #19967

Co-authored-by: Tim Baek <tim@openwebui.com>
Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
Classic298 2025-12-20 13:29:51 +01:00 committed by GitHub
parent 149bb9dae2
commit 3d5aaa9ead
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 18 additions and 5 deletions

View file

@ -109,10 +109,17 @@
webhookUrl = $settings?.notifications?.webhook_url ?? '';
APIKey = await getAPIKey(localStorage.token).catch((error) => {
console.log(error);
return '';
});
// Only fetch API key if the feature is enabled and user has permission
if (
user &&
($config?.features?.enable_api_keys ?? true) &&
(user?.role === 'admin' || (user?.permissions?.features?.api_keys ?? false))
) {
APIKey = await getAPIKey(localStorage.token).catch((error) => {
console.log(error);
return '';
});
}
loaded = true;
});

View file

@ -455,7 +455,13 @@
}
if (value) {
await initChannels();
// Only fetch channels if the feature is enabled and user has permission
if (
$config?.features?.enable_channels &&
($user?.role === 'admin' || ($user?.permissions?.features?.channels ?? true))
) {
await initChannels();
}
await initChatList();
}
})