unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
From: Matt Armstrong <marmstrong@google.com>
To: Gaute Hope <eg@gaute.vetsj.com>,
	David Bremner <david@tethera.net>,
	Daniel Kahn Gillmor <dkg@fifthhorseman.net>,
	notmuch@notmuchmail.org, Xu Wang <xuwang762@gmail.com>
Subject: Re: find threads where I and Jian participated but not Dave
Date: Wed, 21 Jun 2017 13:04:53 -0700	[thread overview]
Message-ID: <qf5r2ydxg2i.fsf@google.com> (raw)
In-Reply-To: <1497594312.ahjx44w937.astroid@strange.none>

Gaute Hope <eg@gaute.vetsj.com> writes:

> David Bremner writes on juni 15, 2017 22:20:
>> Daniel Kahn Gillmor <dkg@fifthhorseman.net> writes:
>>>
>>> One of my long-standing wishes is to be able to say "show me mails in my
>>> inbox from people who have replied to messages i've sent them".
>>>
>>> This could be re-framed as "show me threads in which i've participated,
>>> where there are some messages flagged with 'inbox'".  but generating a
>>> huge list of all threads in which i've participated, just to be able to
>>> do an intersection operation with a (much smaller) list of all threads
>>> that have a message with the inbox flag seems like a pretty gross
>>> inefficiency.
>> 
>> At the moment the best we could do is essentially the same algorithm,
>> but in C instead of shell / python. Threads are not documents in the
>> database, so they can't efficiently be searched for.  Of course we could
>> change that, but those kind of changes take a fair amount of effort, and
>> some careful design work.
>
> There are probably multiple earlier references to this, but here's one:
>
>   id:1471858269.x2m28lgosh.astroid@strange
>
> matching against the whole thread vs the individual messages would be
> very useful!

For what it is worth, I've found this idea from Daniel intriguing and
pretty useful in practice:

  "show me threads in which i've participated, where there are some
   messages flagged with 'inbox'"

I implement it like this in my post-new hook:

    # All messages in threads in which I participate get tag:participated
    notmuch search --output=threads from:marmstrong | \
      sed -e 's,^,+participated -- ,' | \
      notmuch tag --batch

On my database the query takes about two seconds to run, and lets me to
searches like "tag:inbox and tag:participated".  The set of threads
found is typically a subset of "tag:inbox and to:marmstrong", but not
always, and I now have two canned "inbox" searches:

  "participated" -> "tag:inbox and tag:participated"
  "me" -> "tag:inbox and to:marmstrong and not tag:participated"

The "me" search tends to be new stuff, bot-generated notifications, and
such.  The "participated" is typically active conversations and stuff
I've already engaged with, or initiated myself.

  reply	other threads:[~2017-06-21 20:04 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-09 21:55 find threads where I and Jian participated but not Dave Xu Wang
2017-06-13 15:57 ` Xu Wang
2017-06-13 23:31   ` David Bremner
2017-06-14  0:24     ` Xu Wang
2017-06-14  3:32     ` Brian Sniffen
2017-06-15 17:54     ` Daniel Kahn Gillmor
2017-06-15 20:20       ` David Bremner
2017-06-16  1:07         ` Matt Armstrong
2017-06-16  6:28         ` Gaute Hope
2017-06-21 20:04           ` Matt Armstrong [this message]
2017-06-21 21:30             ` Daniel Kahn Gillmor
2017-06-22  6:08               ` Gaute Hope
2017-06-22  6:22                 ` Gaute Hope
2017-06-23  0:00                   ` Matt Armstrong
2017-06-25 15:46                     ` finding incoming messages in threads in which i've participated [was: Re: find threads where I and Jian participated but not Dave] Daniel Kahn Gillmor
2017-06-25 17:14                       ` David Bremner
2017-06-26 20:49                         ` Matt Armstrong
2017-06-26 23:09                           ` David Bremner
2017-08-20 13:35                           ` Jani Nikula
2017-08-20 13:48                         ` Jani Nikula
2017-08-20 21:32                           ` [PATCH] WIP: add thread subqueries David Bremner
2017-08-21  1:35                             ` David Bremner
2017-09-07 17:47                               ` Gaute Hope
2017-09-07 18:51                                 ` David Bremner
2017-06-25 17:40                       ` finding incoming messages in threads in which i've participated [was: Re: find threads where I and Jian participated but not Dave] Brian Sniffen
2017-06-26 20:54                       ` Matt Armstrong
2017-06-22 20:15               ` find threads where I and Jian participated but not Dave Matt Armstrong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://notmuchmail.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=qf5r2ydxg2i.fsf@google.com \
    --to=marmstrong@google.com \
    --cc=david@tethera.net \
    --cc=dkg@fifthhorseman.net \
    --cc=eg@gaute.vetsj.com \
    --cc=notmuch@notmuchmail.org \
    --cc=xuwang762@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).