Merge branch experimental into main

This commit is contained in:
Linus Rath
2026-03-12 13:16:13 +01:00
11 changed files with 38 additions and 3 deletions
+6 -1
View File
@@ -10,7 +10,7 @@ import { Button } from '@/components/ui/button';
export function AdvancedSettings() {
const t = useTranslations('settings.advanced');
const tCommon = useTranslations('common');
const { debugMode, settingsSyncDisabled, updateSetting, resetToDefaults, exportSettings, importSettings } =
const { debugMode, senderFavicons, settingsSyncDisabled, updateSetting, resetToDefaults, exportSettings, importSettings } =
useSettingsStore();
const { settingsSyncEnabled } = useConfig();
const [showResetConfirm, setShowResetConfirm] = useState(false);
@@ -75,6 +75,11 @@ export function AdvancedSettings() {
</SettingItem>
)}
{/* Sender Favicons (Experimental) */}
<SettingItem label={t('sender_favicons.label')} description={t('sender_favicons.description')}>
<ToggleSwitch checked={senderFavicons} onChange={(checked) => updateSetting('senderFavicons', checked)} />
</SettingItem>
{/* Export Settings */}
<SettingItem label={t('export_settings.label')} description={t('export_settings.description')}>
<Button variant="outline" size="sm" onClick={handleExport}>
-1
View File
@@ -9,7 +9,6 @@ const IS_DEV = process.env.NODE_ENV !== "production";
// Module-level cache of domains whose favicons failed to load.
// Shared across all Avatar instances to avoid re-requesting known-bad domains.
const failedFaviconDomains = new Set<string>();
// Personal email domains where the favicon is the mail provider logo, not the sender
const PERSONAL_DOMAINS = new Set([
"gmail.com", "googlemail.com", "outlook.com", "hotmail.com", "live.com",
+4
View File
@@ -802,6 +802,10 @@
"label": "Debug-Modus",
"description": "Detaillierte Protokollierung zur Fehlerbehebung aktivieren"
},
"sender_favicons": {
"label": "Absender-Favicons (Experimentell)",
"description": "Website-Symbole als Profilbilder für geschäftliche Absender anzeigen"
},
"keyboard_shortcuts": {
"label": "Tastaturkürzel",
"description": "Verfügbare Tastaturkürzel anzeigen",
+4
View File
@@ -857,6 +857,10 @@
"label": "Settings Sync",
"description": "Sync your settings across browsers and devices"
},
"sender_favicons": {
"label": "Sender Favicons (Experimental)",
"description": "Show website icons as profile pictures for business senders"
},
"keyboard_shortcuts": {
"label": "Keyboard Shortcuts",
"description": "View available keyboard shortcuts",
+4
View File
@@ -802,6 +802,10 @@
"label": "Modo de Depuración",
"description": "Habilitar registro detallado para solución de problemas"
},
"sender_favicons": {
"label": "Favicons de remitente (Experimental)",
"description": "Mostrar iconos de sitios web como fotos de perfil para remitentes empresariales"
},
"keyboard_shortcuts": {
"label": "Atajos de Teclado",
"description": "Ver atajos de teclado disponibles",
+4
View File
@@ -802,6 +802,10 @@
"label": "Mode débogage",
"description": "Activer la journalisation détaillée pour le dépannage"
},
"sender_favicons": {
"label": "Favicons des expéditeurs (Expérimental)",
"description": "Afficher les icônes de sites web comme photos de profil pour les expéditeurs professionnels"
},
"keyboard_shortcuts": {
"label": "Raccourcis clavier",
"description": "Voir les raccourcis clavier disponibles",
+4
View File
@@ -802,6 +802,10 @@
"label": "Modalità debug",
"description": "Abilita registrazione dettagliata per la risoluzione dei problemi"
},
"sender_favicons": {
"label": "Favicon dei mittenti (Sperimentale)",
"description": "Mostra le icone dei siti web come immagini profilo per i mittenti aziendali"
},
"keyboard_shortcuts": {
"label": "Scorciatoie da tastiera",
"description": "Visualizza le scorciatoie da tastiera disponibili",
+4
View File
@@ -802,6 +802,10 @@
"label": "デバッグモード",
"description": "トラブルシューティング用の詳細ログを有効化"
},
"sender_favicons": {
"label": "送信者ファビコン(実験的)",
"description": "ビジネス送信者のプロフィール画像としてウェブサイトアイコンを表示"
},
"keyboard_shortcuts": {
"label": "キーボードショートカット",
"description": "利用可能なキーボードショートカットを表示",
+4
View File
@@ -802,6 +802,10 @@
"label": "Debugmodus",
"description": "Schakel gedetailleerde logging in voor probleemoplossing"
},
"sender_favicons": {
"label": "Afzender-favicons (Experimenteel)",
"description": "Toon websitepictogrammen als profielfoto's voor zakelijke afzenders"
},
"keyboard_shortcuts": {
"label": "Sneltoetsen",
"description": "Bekijk beschikbare sneltoetsen",
+4
View File
@@ -802,6 +802,10 @@
"label": "Modo de Depuração",
"description": "Habilitar registro detalhado para solução de problemas"
},
"sender_favicons": {
"label": "Favicons de remetente (Experimental)",
"description": "Exibir ícones de sites como fotos de perfil para remetentes empresariais"
},
"keyboard_shortcuts": {
"label": "Atalhos de Teclado",
"description": "Visualizar atalhos de teclado disponíveis",
-1
View File
@@ -103,7 +103,6 @@ interface SettingsState {
// Keywords (labels/tags)
emailKeywords: KeywordDefinition[];
// Advanced
debugMode: boolean;
settingsSyncDisabled: boolean;