mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-01-19 00:36:12 +01:00
🚀 feat: Use Model Specs + Specific Endpoints, Limit Providers for Agents (#6650)
* 🔧 refactor: Remove modelSpecs prop from ModelSelector and related components
* fix: Update submission.conversationId references in SSE hooks and data types as was incorrectly typed
* feat: Allow showing specific endpoints alongside model specs via `addedEndpoints` field
* feat: allowed agents providers via `agents.allowedProviders` field
* fix: bump dicebear/sharp dependencies to resolve CVE-2024-12905 and improve avatar gen logic
* fix: rename variable for clarity in loadDefaultInterface function
* fix: add keepAddedConvos option to newConversation calls for modular chat support
* fix: include model information in endpoint selection for improved context
* fix: update data-provider version to 0.7.78 and increment config version to 1.2.4
This commit is contained in:
parent
cd7cdaa703
commit
90b8769ef3
27 changed files with 905 additions and 777 deletions
|
|
@ -7,36 +7,35 @@ const avatarCache: Record<string, string> = {};
|
|||
|
||||
const useAvatar = (user: TUser | undefined) => {
|
||||
return useMemo(() => {
|
||||
if (!user?.username) {
|
||||
const { username, name } = user ?? {};
|
||||
const seed = name || username;
|
||||
if (!seed) {
|
||||
return '';
|
||||
}
|
||||
|
||||
if (user.avatar) {
|
||||
if (user?.avatar && user?.avatar !== '') {
|
||||
return user.avatar;
|
||||
}
|
||||
|
||||
const { username } = user;
|
||||
|
||||
if (avatarCache[username]) {
|
||||
return avatarCache[username];
|
||||
if (avatarCache[seed]) {
|
||||
return avatarCache[seed];
|
||||
}
|
||||
|
||||
const avatar = createAvatar(initials, {
|
||||
seed: username,
|
||||
seed,
|
||||
fontFamily: ['Verdana'],
|
||||
fontSize: 36,
|
||||
});
|
||||
|
||||
let avatarDataUri = '';
|
||||
avatar
|
||||
.toDataUri()
|
||||
.then((dataUri) => {
|
||||
avatarDataUri = dataUri;
|
||||
avatarCache[username] = dataUri; // Store in cache
|
||||
})
|
||||
.catch((error) => {
|
||||
console.error('Failed to generate avatar:', error);
|
||||
});
|
||||
try {
|
||||
avatarDataUri = avatar.toDataUri();
|
||||
if (avatarDataUri) {
|
||||
avatarCache[seed] = avatarDataUri;
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Failed to generate avatar:', error);
|
||||
}
|
||||
|
||||
return avatarDataUri;
|
||||
}, [user]);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue