On Thu 2016-03-31 14:34:53 -0300, Daniel Kahn Gillmor <[email protected]> wrote: > ghost-on-removal > ---------------- > > We could unilaterally add a ghost upon message removal. This has a > few disadvantages: the message index would leak information about what > messages the user has ever been exposed to, and we also create a > perpetually-growing dataset -- the ghosts can never be removed. > > ghost-on-removal-when-shared-thread-exists > ------------------------------------------ > > We could add a ghost upon message removal iff there are other > non-ghost messages with the same thread ID. > > We'd also need to remove all ghost messages that share a thread when > the last non-ghost message in that thread is removed. > > This still has a bit of information leakage, though: the message index > would reveal that i've seen a newer message in a thread, even if i had > deleted it from my message store
One more proposal along these lines:
track-non-ghost-count-per-thread
--------------------------------
If each thread had a count of all the non-ghost messages associated with
it, and that count was properly maintained by the database, then upon
message deletion you would decrement the count. when that count reached
zero, you could destroy the thread.
This has the same metadata leakage as
ghost-on-removal-when-shared-thread-exists, but i think it might be more
efficient, if we can cope with the denormalized database.
This does have the downside of needing a database transition, though:
we'd have to add this count to all threads in a database upgrade.
What do people think of the different options? what do you prefer? is
there some better approach that i've missed?
--dkg
signature.asc
Description: PGP signature
_______________________________________________ notmuch mailing list [email protected] https://notmuchmail.org/mailman/listinfo/notmuch
