From 0bdba54ba24a14e7dc2cfab64084452756bccce7 Mon Sep 17 00:00:00 2001
From: Mohamed Bassem <me@mbassem.com>
Date: Mon, 22 Dec 2025 16:59:04 +0200
Subject: feat: Add user settings to disable auto tagging/summarization (#2275)

* feat: Add per-user settings to disable auto-tagging and auto-summarization

This commit adds user-level controls for AI features when they are enabled
on the server. Users can now toggle auto-tagging and auto-summarization
on/off from the AI Settings page.

Changes:
- Added autoTaggingEnabled and autoSummarizationEnabled fields to user table
- Updated user settings schemas and API endpoints to handle new fields
- Modified inference workers to check user preferences before processing
- Added toggle switches to AI Settings page (only visible when server has features enabled)
- Generated database migration for new fields
- Exposed enableAutoTagging and enableAutoSummarization in client config

The settings default to null (use server default). When explicitly set to false,
the user's bookmarks will skip the respective AI processing.

* revert migration

* i18n

---------

Co-authored-by: Claude <noreply@anthropic.com>
---
 apps/web/lib/clientConfig.tsx | 2 ++
 1 file changed, 2 insertions(+)

(limited to 'apps/web/lib/clientConfig.tsx')

diff --git a/apps/web/lib/clientConfig.tsx b/apps/web/lib/clientConfig.tsx
index 9331a7af..ab367be0 100644
--- a/apps/web/lib/clientConfig.tsx
+++ b/apps/web/lib/clientConfig.tsx
@@ -14,6 +14,8 @@ export const ClientConfigCtx = createContext<ClientConfig>({
   inference: {
     isConfigured: false,
     inferredTagLang: "english",
+    enableAutoTagging: false,
+    enableAutoSummarization: false,
   },
   serverVersion: undefined,
   disableNewReleaseCheck: true,
-- 
cgit v1.2.3-70-g09d2

