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>
---
 packages/db/drizzle/0072_add_user_ai_preferences.sql | 2 ++
 1 file changed, 2 insertions(+)
 create mode 100644 packages/db/drizzle/0072_add_user_ai_preferences.sql

(limited to 'packages/db/drizzle/0072_add_user_ai_preferences.sql')

diff --git a/packages/db/drizzle/0072_add_user_ai_preferences.sql b/packages/db/drizzle/0072_add_user_ai_preferences.sql
new file mode 100644
index 00000000..ea486cf6
--- /dev/null
+++ b/packages/db/drizzle/0072_add_user_ai_preferences.sql
@@ -0,0 +1,2 @@
+ALTER TABLE `user` ADD `autoTaggingEnabled` integer;--> statement-breakpoint
+ALTER TABLE `user` ADD `autoSummarizationEnabled` integer;
\ No newline at end of file
-- 
cgit v1.2.3-70-g09d2

