Return-Path: X-Original-To: notmuch@notmuchmail.org Delivered-To: notmuch@notmuchmail.org Received: from localhost (localhost [127.0.0.1]) by olra.theworths.org (Postfix) with ESMTP id 581AA40BFD3 for ; Thu, 16 Sep 2010 20:46:54 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: -1.998 X-Spam-Level: X-Spam-Status: No, score=-1.998 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001] autolearn=ham Received: from olra.theworths.org ([127.0.0.1]) by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id eHrkK0kDmOTF for ; Thu, 16 Sep 2010 20:46:42 -0700 (PDT) Received: from mail-gw0-f53.google.com (mail-gw0-f53.google.com [74.125.83.53]) by olra.theworths.org (Postfix) with ESMTP id AA129408AF3 for ; Thu, 16 Sep 2010 20:46:42 -0700 (PDT) Received: by gwaa18 with SMTP id a18so744109gwa.26 for ; Thu, 16 Sep 2010 20:46:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:date:message-id :subject:from:to:content-type; bh=ftbqmfWOmzPXk77Hn8D2+BZjVS9vR6c6zMg397yinDU=; b=ha+ZlGFuuTypTWkqfHEG9/w7DRmQSm/YJvIkzUZ/UCaVJbul6kHOe0RB5HnGCVgXk8 Aasns0LnZGyZQWmtIcbP+eRkmzXKBNJcHoalQITimQRoJVycYGIHNeTjcwOwDWU/mZoY 19daJ8t3/ElMaWcdqt6ILXukN21mtrNMQ9mS0= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=ZvI9g14cz7W/FiqGXyeQkkpe5gA5CfTzaPrbpOLWdPVh2wIpvNICNaBPVxVPYg1vZQ B6R2ZHfNT53kEjmnfJVXMnnPY/+4CVgQTx3j7GQ2vvCfnMye2lYEKh4b5ZlekCo/bUEO aIfZyG+PkUGzhnETWY/H2Di4jVCCsCkAYAWgg= MIME-Version: 1.0 Received: by 10.100.8.2 with SMTP id 2mr4755256anh.165.1284695200166; Thu, 16 Sep 2010 20:46:40 -0700 (PDT) Received: by 10.100.44.12 with HTTP; Thu, 16 Sep 2010 20:46:40 -0700 (PDT) Date: Thu, 16 Sep 2010 20:46:40 -0700 Message-ID: Subject: gmail syncing From: Alex Botero-Lowry To: notmuch@notmuchmail.org Content-Type: multipart/alternative; boundary=0016e644c30a0cfc2504906c699b X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Sep 2010 03:46:54 -0000 --0016e644c30a0cfc2504906c699b Content-Type: text/plain; charset=ISO-8859-1 Hi All, About two of three months ago, I stopped using notmuch because for some reason notmuch refused to import the maildir produced by offlineimap with the weird no thread id error. I passed along some of the messages notmuch was failing on to cworth but they imported fine for him. At that point I switched to just using work webmail and gmail. I also got an android phone and so the syncing issue became a serious issue. I miss notmuch, a lot. It's pretty clearly the mailer UI and to a lesser extent backend I've always wanted, and so I'm just about ready to try and switch back again. It's just, the syncing problem is a huge one. Not only do I now have a phone in the mix, but I'm no longer using my personal computer for work (I have a work desktop and laptop that need to be in sync too!) There is an upside though, since $NEWJOB is at Google, I'm now using gmail for all my email. :) With all that in mind, I've started to think seriously about the syncing problem. Thanks to gmail labels being close to, if not equal to notmuch tags, I believe it's possible to have a full sync between a remote gmail account and (many) notmuch dbs. The basic plan is to use gmail's terrible IMAP support (I've already complained about it :), since it's powerful enough information to do label syncing. [GMail]/All Mail folder will be streamed out to probably an Mh directory. Every n messages notmuch new gets called and then a remove of inbox tag is done for every message added (would be nice to be able to get notified of which messages were visited, but shouldn't be necessary). Soon after the gmail syncer daemon will do a folder/label scan and call a bunch of notmuch add's for all the newly added label, message-id pairs (yeah, this part is pretty hand wavy). That should get the gmail -> notmuch state complete with gmail labels working properly. The reverse counts on notmuch getting support for hooks for tag add and remove events, that can enqueue a a tag, message-id pair with the gmail syncer daemon that can then copy or remove the messages from the appropriate Label/Folders in IMAP. I suspect getting this to run efficiently will be hard, but I think the basic principle should allow close to full bidirectional syncing with gmail labels. alex --0016e644c30a0cfc2504906c699b Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Hi All,

About two of three months ago, I stopped using n= otmuch because for some reason notmuch refused to import the maildir produc= ed by offlineimap with the weird no thread id error. I passed along some of= the messages notmuch was failing on to cworth but they imported fine for h= im. At that point I switched to just using work webmail and gmail. I also g= ot an android phone and so the syncing issue became a serious issue.

I miss notmuch, a lot. It's pretty clearly the mail= er UI and to a lesser extent backend I've always wanted, and so I'm= just about ready to try and switch back again. It's just, the syncing = problem is a huge one. Not only do I now have a phone in the mix, but I'= ;m no longer using my personal computer for work (I have a work desktop and= laptop that need to be in sync too!) There is an upside though, since $NEW= JOB is at Google, I'm now using gmail for all my email. :)

With all that in mind, I've started to think seriou= sly about the syncing problem. Thanks to gmail labels being close to, if no= t equal to notmuch tags, I believe it's possible to have a full sync be= tween a remote gmail account and (many) notmuch dbs.

The basic plan is to use gmail's terrible IMAP supp= ort (I've already complained about it :), since it's powerful enoug= h information to do label syncing. [GMail]/All Mail folder will be streamed= out to probably an Mh directory. Every n messages notmuch new gets called = and then a remove of inbox tag is done for every message added (would be ni= ce to be able to get notified of which messages were visited, but shouldn&#= 39;t be necessary). Soon after the gmail syncer daemon will do a folder/lab= el scan and call a bunch of notmuch add's for all the newly added label= , message-id pairs (yeah, this part is pretty hand wavy). That should =A0ge= t the gmail -> notmuch state complete with gmail labels working properly= .

The reverse counts on notmuch getting support for hooks= for tag add and remove events, that can enqueue a a tag, message-id pair w= ith the gmail syncer daemon that can then copy or remove the messages from = the appropriate Label/Folders in IMAP.

I suspect getting this to run=A0efficiently=A0will be h= ard, but I think the basic principle should allow close to full bidirection= al syncing with gmail labels.

alex

<= /div>

--0016e644c30a0cfc2504906c699b--