javier 8ef1faf8ed feat: real conversation threading at ingest + migration script
The IMAP parser only extracted Message-ID, so In-Reply-To / References
were never persisted and threadId stayed empty -> conversations never
grouped with real data (verified: 162/162 empty in user's DB).

- ParsedMimeMessage: add inReplyTo + references fields
- MimeStorage::parseMessage: extract In-Reply-To and References headers
- ImapSynchronizer parseFetchResponseBytes: propagate inReplyTo/references,
  compute + persist threadId at ingest time (ThreadUtils::extractThreadId)
- MimeStorage::storeMessage: propagate the same headers on MailItem
- scripts/rethread.py: migrate existing DBs by re-reading .eml files
  (recovered In-Reply-To/References from raw MIME and recomputed threadId:
  149/162 grouped, incl. Nacho x6, Bitar x4, Mariel x3, etc.)

Verified against user's real DB copy.
2026-09-04 01:35:13 +02:00

Wino Mail Qt (C++/DTK)

A modern C++/Qt port of Wino Mail for Deepin Linux using DTKWidget.

S
Description
Conversion of Wino-Mail from C# to C++/Qt using DTKWidgets
Readme
205 MiB
2026-06-04 18:29:16 +02:00
Languages
C++ 91.1%
Python 4.3%
C 2%
Makefile 2%
CMake 0.6%