Fix default emojis expression setting resetting (#4206) Adjusts conditions to properly enforce mutual exclusivity between fallback expression and default emoji settings - Ensures "[ No fallback ]" option only appears when both settings are inactive - Updates migration logic to ONLY reset default emoji setting when fallback is active Fixes #4205
Signed| @@ -1331,7 +1331,7 @@ async function renderFallbackExpressionPicker() { | |||
| 1331 | defaultPicker.empty(); | 1331 | defaultPicker.empty(); |
| 1332 | 1332 | ||
| 1333 | 1333 | ||
| 1334 | addOption(OPTION_NO_FALLBACK, '[ No fallback ]', !extension_settings.expressions.fallback_expression); | 1334 | addOption(OPTION_NO_FALLBACK, '[ No fallback ]', !extension_settings.expressions.fallback_expression && !extension_settings.expressions.showDefault); |
| 1335 | addOption(OPTION_EMOJI_FALLBACK, '[ Default emojis ]', !!extension_settings.expressions.showDefault); | 1335 | addOption(OPTION_EMOJI_FALLBACK, '[ Default emojis ]', !!extension_settings.expressions.showDefault); |
| 1336 | 1336 | ||
| 1337 | for (const expression of expressions) { | 1337 | for (const expression of expressions) { |
| @@ -2116,7 +2116,7 @@ function migrateSettings() { | |||
| 2116 | saveSettingsDebounced(); | 2116 | saveSettingsDebounced(); |
| 2117 | } | 2117 | } |
| 2118 | 2118 | ||
| 2119 | if (extension_settings.expressions.showDefault && extension_settings.expressions.fallback_expression !== undefined) { | 2119 | if (extension_settings.expressions.showDefault && extension_settings.expressions.fallback_expression) { |
| 2120 | extension_settings.expressions.showDefault = false; | 2120 | extension_settings.expressions.showDefault = false; |
| 2121 | saveSettingsDebounced(); | 2121 | saveSettingsDebounced(); |
| 2122 | } | 2122 | } |