chahinebrini
04e2979b8d
perf(mail): incremental UID-scan + daily quality full-sweep
Backend-Lag-Fix Phase 2 — entfernt die Scan-Grundlast an der Wurzel:
- mail_connections: +folder_scan_state JSONB, +last_full_sweep_at TIMESTAMPTZ
(additive Migration, DEFAULT '{}' deckt Bestandsrows; erster Lauf = Full-Sweep
wie bisher → null Verhaltens-/Qualitätsänderung initial).
- scan-internal: pro Ordner status(uidNext,uidValidity); inkrementeller
search(UID > lastUid) statt Last-200-Refetch. Leere Ordner → skip. UIDVALIDITY-
Wächter (Server-Renumber → einmal Full-Sweep). maxUid persistiert via JSONB-Merge.
- Quality-Full-Sweep 1x/Tag (last_full_sweep_at) re-scannt Last-200 → Blocklist-
Updates greifen rückwirkend. Klassifikation/Delete/Consent-Logik 1:1 erhalten.
- db/mail: patchFolderScanState (atomic ||-merge) + markFullSweepDone; toter
getAllActiveMailUserIds entfernt (Cron weg).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 10:56:55 +02:00
..
2026-05-06 07:13:43 +02:00
2026-05-06 07:13:43 +02:00
2026-05-06 07:13:43 +02:00
2026-05-06 07:13:43 +02:00
2026-05-06 07:13:43 +02:00
2026-05-06 07:13:43 +02:00
2026-05-06 07:13:43 +02:00
2026-05-06 07:13:43 +02:00
2026-05-06 07:13:43 +02:00
2026-05-06 07:13:43 +02:00
2026-05-07 21:14:06 +02:00
2026-05-08 22:30:03 +02:00
2026-05-08 19:31:28 +02:00
2026-05-09 23:48:11 +02:00
2026-05-09 22:28:07 +02:00
2026-05-09 15:55:28 +02:00
2026-05-09 15:48:35 +02:00
2026-05-09 15:48:35 +02:00
2026-05-09 16:28:36 +02:00
2026-05-11 04:06:49 +02:00
2026-05-11 04:40:32 +02:00
2026-05-11 17:19:37 +02:00
2026-05-11 16:23:02 +02:00
2026-05-13 16:35:18 +02:00
2026-05-13 19:13:24 +02:00
2026-05-13 16:35:18 +02:00
2026-05-13 19:06:01 +02:00
2026-05-13 21:04:14 +02:00
2026-05-14 22:05:35 +02:00
2026-05-14 22:05:35 +02:00
2026-05-15 21:16:05 +02:00
2026-05-15 22:41:17 +02:00
2026-05-16 21:00:20 +02:00
2026-05-16 01:53:03 +02:00
2026-05-16 10:04:34 +02:00
2026-05-16 00:29:35 +02:00
2026-05-16 02:24:42 +02:00
2026-05-16 08:50:04 +02:00
2026-05-17 15:52:53 +02:00
2026-05-17 23:48:25 +02:00
2026-05-17 19:05:37 +02:00
2026-05-18 06:23:08 +02:00
2026-05-17 22:39:18 +02:00
2026-05-22 20:05:44 +02:00
2026-05-22 21:09:00 +02:00
2026-05-26 00:46:44 +02:00
2026-05-28 16:09:58 +02:00
2026-05-30 08:16:45 +02:00
2026-05-30 10:56:39 +02:00
2026-05-30 11:18:32 +02:00
2026-06-01 04:34:34 +02:00
2026-06-01 02:36:28 +02:00
2026-06-03 21:14:31 +02:00
2026-06-03 10:57:29 +02:00
2026-06-04 09:27:13 +02:00
2026-06-05 10:56:55 +02:00
2026-06-02 09:15:19 +02:00
2026-06-03 00:18:24 +02:00
2026-05-06 07:13:43 +02:00
2026-05-06 07:13:43 +02:00
2026-05-06 07:13:43 +02:00
2026-05-06 07:13:43 +02:00
2026-05-06 07:13:43 +02:00
2026-05-25 07:11:47 +02:00
2026-05-06 07:13:43 +02:00
2026-05-06 07:13:43 +02:00