From 5c0ffd7affae5b23cd1d93bf23ad87d3e9394db6 Mon Sep 17 00:00:00 2001 From: Linus Rath <139418639+rathlinus@users.noreply.github.com> Date: Tue, 3 Nov 2026 02:35:01 +0100 Subject: [PATCH] fix: let plugins switch the signature auto-insert toggles and refuse the proofreading settings --- lib/settings-schema.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/settings-schema.ts b/lib/settings-schema.ts index 92a702596..995bb4e41 100644 --- a/lib/settings-schema.ts +++ b/lib/settings-schema.ts @@ -278,6 +278,8 @@ const ENTRIES: SettingSchemaEntry[] = [ opts(`${EB}reply_identity_match.`, ['exact', 'domain']), { gate: 'customFromEnabled' }), choice('signaturePosition', 'composing', `${EB}signature_position.label`, opts(`${EB}signature_position.`, ['above_quote', 'below_quote'])), + bool('signatureNewMailEnabled', 'composing', `${EB}signature_new_mail.label`), + bool('signatureReplyForwardEnabled', 'composing', `${EB}signature_reply_forward.label`), bool('signatureSeparatorEnabled', 'composing', `${EB}signature_separator.label`), // 10/30/60 read "{seconds} seconds" (send_delay.seconds): formatted. choice('sendDelaySeconds', 'composing', `${EB}send_delay.label`, [ @@ -420,6 +422,8 @@ export const DENIED_SETTINGS: readonly string[] = [ 'defaultReplyMode', 'subAddressDelimiter', // Sends push metadata to another server. 'pushRelayUrl', + // Turning proofreading on sends what the user writes to a checker plugin. + 'proofreading', 'proofreadingPlugins', // A browser voice id the model can't know. 'readAloudVoice', // Maps and lists keyed by server ids. @@ -427,7 +431,7 @@ export const DENIED_SETTINGS: readonly string[] = [ 'folderIcons', 'folderCountModes', 'preferredIdentityIds', // App bookkeeping and UI state, not preferences. 'onboardingCompleted', 'tourCompleted', 'mvUnreadSectionCollapsed', 'mvEverythingElseCollapsed', - 'vacationCalendarBlocks', 'explicitSettings', + 'vacationCalendarBlocks', 'explicitSettings', 'proofreadingNoticeSeen', // Security, debugging and sync. 'sessionTimeout', 'debugMode', 'debugCategories', 'settingsSyncDisabled', // Tags (they have their own keywords.* actions), filters and add-ons. @@ -443,9 +447,12 @@ export const DENIED_SETTINGS: readonly string[] = [ * - birthdayCalendarColor: a colour, set in the calendar app, not in Settings. * - vacationBlockCalendar: the page also adds or removes the busy event * (vacationBlockChanged); updateSetting alone would not. + * - writingLanguage: a language from lib/proofreading/languages, and the + * organisation policy may pin it. */ export const NOT_YET_SETTINGS: readonly string[] = [ 'messageListOrder', 'filesSettings', 'activeThemeId', 'birthdayCalendarColor', 'vacationBlockCalendar', + 'writingLanguage', ]; /** Line breaks, tabs and other control characters. */