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 545A5431FB6 for ; Tue, 19 Feb 2013 20:45:37 -0800 (PST) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: 0.001 X-Spam-Level: X-Spam-Status: No, score=0.001 tagged_above=-999 required=5 tests=[MIME_QP_LONG_LINE=0.001] autolearn=disabled 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 9-EIqWKEOsnQ for ; Tue, 19 Feb 2013 20:45:36 -0800 (PST) Received: from smtp.rcn.com (smtp.rcn.com [69.168.97.78]) by olra.theworths.org (Postfix) with ESMTP id 74B56431FAE for ; Tue, 19 Feb 2013 20:45:36 -0800 (PST) X_CMAE_Category: 0,0 Undefined,Undefined X-CNFS-Analysis: v=2.0 cv=L+6fspv8 c=1 sm=0 a=C2bPeGdon5f+QfTtoGFpIg==:17 a=97V-WqMTq8EA:10 a=3wHbS4G-AAAA:8 a=dSxMaU7jJ00A:10 a=xtERp6CFAAAA:8 a=JqsHG6aPAAAA:8 a=mkJXniIIlVzZHR6R2SgA:9 a=C2bPeGdon5f+QfTtoGFpIg==:117 X-CM-Score: 0 X-Scanned-by: Cloudmark Authority Engine Authentication-Results: smtp02.rcn.cmh.synacor.com header.from=wuzzeb@wuzzeb.org; sender-id=pass Authentication-Results: smtp02.rcn.cmh.synacor.com smtp.mail=wuzzeb@wuzzeb.org; spf=pass; sender-id=pass Received-SPF: pass (smtp02.rcn.cmh.synacor.com: domain wuzzeb.org designates 205.178.10.182 as permitted sender) Received: from [205.178.10.182] ([205.178.10.182:41475] helo=wuzzeb.org) by smtp.rcn.com (envelope-from ) (ecelerity 2.2.3.49 r(42060/42061)) with ESMTP id 73/8C-09236-FE454215; Tue, 19 Feb 2013 23:45:35 -0500 Received: from wuzzeb by wuzzeb.org with local (Exim 4.80.1) (envelope-from ) id 1U81Yk-0000mg-PA; Tue, 19 Feb 2013 22:45:34 -0600 From: =?utf-8?Q?John_Lenz?= To: =?utf-8?Q?Nicolas_Pouillard?= , =?utf-8?Q?David_Bremner?= , Subject: Re: notmuch webmails In-reply-to: <20130219155005.2945.90450@mail-np.tu.ail> References: <20130214204917.12166.59790@hermes> <87d2w2ml8n.fsf@endefensadelsl.org> <20130216195946.21525.5975@mail-np.tu.ail> <87txpb5b7o.fsf@zancas.localnet> <20130219155005.2945.90450@mail-np.tu.ail> MIME-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Message-Id: Sender: Date: Tue, 19 Feb 2013 22:45:34 -0600 Cc: bgmamari.foss@gmail.com 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: Wed, 20 Feb 2013 04:45:37 -0000 On 2013-02-19 15:50:05 UTC, Nicolas Pouillard wrote:=20= > Quoting David Bremner (2013-02-17 14:19:55) > > Nicolas Pouillard writes: > > > > > Quoting John Lenz (2013-02-16 19:07:47) > > > > >> Hi, I am working on one as well, but am further along. I am starting > > >> to use it as my main interface. I have table view of messages, a > > >> pager view, tagging and retagging, compose, compose with attachments, > > >> etc. Combined with the "Its All Text" firefox plugin, it works > > >> pretty well. I was planning on announcing in a week or so, but here > > >> is the code since this thread showed up. I will work on some > > >> instructions on how to set it up soon, plus a little cleanup. > > >> > > >> https://bitbucket.org/wuzzeb/notmuch-web/src > > > > > > Wow in Haskell! I'm looking forward to try/use it. > > > > Interesting. I see you are calling out to the CLI. Ben Gamari (in CC) > > was working on some Haskell bindings; I'm not sure how far he got. I > > think there were some conflicts between the memory models of talloc and > > Haskell. > > Calling the CLI has been of a direct use for me to run the webapp on a > different machine by simply having notmuch as a script using ssh. > Yes, parsing the JSON from the CLI is pretty easy so I don't see much benefit to using a direct binding. The only main issue I am still trying to work out is how to deal with flowed messages. I think for viewing, if there is a html alternative, I will use xss-sanatize (http://hackage.haskell.org/package/xss-sanitize) with perhaps some additional filtering for images and such. The problem is format=3Dflowed messages: the JSON from the CLI does not have the format=3Dflowed header anywhere in the JSON. The message body still has spaces at the end of flowed lines, so if we knew that the message was flowed we could parse the spaces in haskell. Alternatively, I have been considering enhancing notmuch itself to parse the flowed text into paragraphs and stick it into the JSON. For compose, I just need to enhance the mime-mail package to send flowed text, but will have to figure out how to round-trip the reply text through the textbox.