fix(emlx): preserve and expose RFC Message-ID - #816
Conversation
roborev: Combined Review (
|
|
looking |
Apple Mail imports kept Message-ID in raw MIME but left the stored ID empty. Preserve it for message links, analytics, and JSON clients, and repair missing IDs on re-import without replacing archived content. Resolve unique reply parents within the same source after import so out-of-order messages and interrupted imports retain their reply links. Give the detail-query test its SQLite connection and exercise the path used on Windows, where DuckDB's SQLite scanner is disabled. Generated with Codex Co-authored-by: Codex <noreply@openai.com>
4621830 to
e065aa8
Compare
roborev: Combined Review (
|
Keep existing RFC Message-IDs when ordinary imports or syncs upsert a message. Explicit provider repairs still replace an incorrect identifier along with the rest of the snapshot. Move incoming reply links to the survivor before hiding duplicate messages so purging deduplicated copies does not fail a foreign-key check. Index the parent link so each duplicate does not scan the whole archive. Generated with Codex Co-authored-by: Codex <noreply@openai.com>
roborev: Combined Review (
|
What changed
rfc822_message_idin analytics SQL andshow-message --json, including daemon connections. Rebuild caches with the added column.Why
Apple Mail imports kept Message-ID in raw MIME but left the stored identifier empty. That prevented SQL queries and JSON clients from using it to identify messages or construct Mail.app links.
Usage
Re-import the same directory and source identifier to fill missing IDs, then rebuild the cache:
New and repaired IDs use the original case without angle brackets. Existing nonempty IDs stay unchanged. Wrap and URL-encode the ID for a Mail.app link, such as
message://%3CCase-ID%40example.test%3E.Closes #815