contacts: learn people from the whole corpus, not only threads read

Compose's suggestions and search's from:/to:/cc: completion only knew the people of threads the reader had opened, so someone the user corresponds with often, but whose threads had not been opened since contacts began, could not be completed: "from:linds" missed Lindsay. Once a JMAP account's corpus is read and its identity known, a job reads every message record off the main thread and notes its people: mail from the user counts its To and Cc as written to, other mail its sender as heard from and its recipients as copied. The result joins the contacts once, marked in contacts.json, and each message the walk keeps after that is noted as it comes. Addresses that say not to write to them (noreply, notification, mailer-daemon) are left out.


Author rockorager.dev
Date Commit Parent 2d345c8b
+181 -8
3 changed files
+181 -8
3 changed files