feat: implement global memories toggle and permissions (#20462)

This commit is contained in:
G30
2026-01-07 23:50:04 +04:00
committed by GitHub
parent 48f1b2d547
commit b73d30b6df
10 changed files with 152 additions and 5 deletions
@@ -741,6 +741,14 @@
<Switch bind:state={adminConfig.ENABLE_CHANNELS} />
</div>
<div class="mb-2.5 flex w-full items-center justify-between pr-2">
<div class=" self-center text-xs font-medium">
{$i18n.t('Memories')} ({$i18n.t('Beta')})
</div>
<Switch bind:state={adminConfig.ENABLE_MEMORIES} />
</div>
<div class="mb-2.5 flex w-full items-center justify-between pr-2">
<div class=" self-center text-xs font-medium">
{$i18n.t('User Webhooks')}
@@ -782,6 +782,22 @@
</div>
{/if}
</div>
<div class="flex flex-col w-full">
<div class="flex w-full justify-between my-1">
<div class=" self-center text-xs font-medium">
{$i18n.t('Memories')}
</div>
<Switch bind:state={permissions.features.memories} />
</div>
{#if defaultPermissions?.features?.memories && !permissions.features.memories}
<div>
<div class="text-xs text-gray-500">
{$i18n.t('This is a default user permission and will remain enabled.')}
</div>
</div>
{/if}
</div>
</div>
<hr class=" border-gray-100/30 dark:border-gray-850/30" />
@@ -491,6 +491,13 @@
return $user?.role === 'admin' || ($user?.permissions?.settings?.interface ?? true);
}
if (tab.id === 'personalization') {
return (
$config?.features?.enable_memories &&
($user?.role === 'admin' || ($user?.permissions?.features?.memories ?? true))
);
}
return true;
});
};
+2 -1
View File
@@ -52,7 +52,8 @@ export const DEFAULT_PERMISSIONS = {
direct_tool_servers: false,
web_search: true,
image_generation: true,
code_interpreter: true
code_interpreter: true,
memories: true
},
settings: {
interface: true
+1
View File
@@ -273,6 +273,7 @@ type Config = {
enable_admin_export: boolean;
enable_admin_chat_access: boolean;
enable_community_sharing: boolean;
enable_memories: boolean;
enable_autocomplete_generation: boolean;
enable_direct_connections: boolean;
enable_version_update_check: boolean;