feat: AI categorisation fallback, unsubscribe confidence scoring, one-line summaries
Heuristic classifier falls back to AI only when it can't determine a category; unsubscribe confidence blends method reliability with an AI safety opinion and surfaces it in the Unsubscribe Manager; emails get an on-demand AI one-line summary in the detail pane. All AI calls degrade gracefully when AI is disabled or the provider errors. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -233,6 +233,8 @@ table.grid th, table.grid td { padding: 8px; border-bottom: 1px solid #2c3550; t
|
||||
.sd-detail-meta { font-size: 12px; color: var(--muted); display: flex; flex-wrap: wrap; gap: 4px; align-items: center; }
|
||||
.sd-detail-sep { opacity: 0.4; }
|
||||
.sd-snippet { background: var(--panel); border: 1px solid #2c3550; border-radius: 8px; padding: 14px 16px; font-size: 13px; line-height: 1.6; color: var(--muted); white-space: pre-wrap; margin-bottom: 18px; }
|
||||
.sd-ai-summary { margin-bottom: 14px; }
|
||||
.sd-ai-summary-text { background: var(--panel-2); border: 1px solid #2c3550; border-radius: 8px; padding: 10px 14px; font-size: 13px; color: var(--text); }
|
||||
.sd-detail-actions { display: flex; gap: 10px; }
|
||||
.btn-sm {
|
||||
background: var(--accent); color: #fff; border: none; border-radius: 6px;
|
||||
@@ -382,6 +384,10 @@ input, select { background: var(--panel-2); border: 1px solid #2c3550; color: va
|
||||
.unsub-badge--ok { color: var(--ok); border-color: var(--ok); }
|
||||
.unsub-badge--fail { color: var(--danger); border-color: var(--danger); }
|
||||
.unsub-badge--skip { color: var(--muted); }
|
||||
.unsub-confidence { font-size: 11px; font-weight: 600; }
|
||||
.unsub-confidence--high { color: var(--ok); }
|
||||
.unsub-confidence--mid { color: #f2c94c; }
|
||||
.unsub-confidence--low { color: var(--danger); }
|
||||
|
||||
/* ── Bulk selection toolbar (folder/search/sender email lists) ──────────── */
|
||||
.bulk-toolbar {
|
||||
|
||||
Reference in New Issue
Block a user