From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by arlo.cworth.org (Postfix) with ESMTP id 8FB1F6DE0A7F for ; Thu, 26 Oct 2017 21:04:27 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at cworth.org X-Spam-Flag: NO X-Spam-Score: 0.17 X-Spam-Level: X-Spam-Status: No, score=0.17 tagged_above=-999 required=5 tests=[AWL=0.181, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=disabled Received: from arlo.cworth.org ([127.0.0.1]) by localhost (arlo.cworth.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id kNPGHp3gHHaq for ; Thu, 26 Oct 2017 21:04:23 -0700 (PDT) Received: from istari.evenmere.org (istari.evenmere.org [136.248.125.194]) by arlo.cworth.org (Postfix) with ESMTP id 3665A6DE01EA for ; Thu, 26 Oct 2017 21:04:23 -0700 (PDT) Received: by istari.evenmere.org (Postfix, from userid 1000) id 575511E0063; Fri, 27 Oct 2017 00:04:21 -0400 (EDT) From: Brian Sniffen To: Daniel Kahn Gillmor , Vladimir Panteleev , Jani Nikula , Matthew Lear , notmuch@notmuchmail.org Subject: Re: web interface to notmuch In-Reply-To: <877evhy53k.fsf@fifthhorseman.net> References: <87tvyvp4f2.fsf@istari.evenmere.org> <87376f13ho.fsf@fifthhorseman.net> <87r2tww9tr.fsf@nikula.org> <87wp3ow39i.fsf@fifthhorseman.net> <27e53def-32b4-45ab-1192-77cc0e837a93@gmail.com> <87zi8eopgq.fsf@istari.evenmere.org> <877evhy53k.fsf@fifthhorseman.net> Date: Fri, 27 Oct 2017 00:04:21 -0400 Message-ID: <87she5nsmy.fsf@istari.evenmere.org> MIME-Version: 1.0 Content-Type: text/plain X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.23 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, 27 Oct 2017 04:04:27 -0000 Daniel Kahn Gillmor writes: > On Wed 2017-10-25 18:03:01 -0400, Brian Sniffen wrote: >> That's inspiring! Now there's a demo of nmweb at >> >> https://nmweb.evenmere.org/ > > this is very nice, Brian. Thanks! The part I'm happiest about is the speed: this is as fast as I remember gmail being. The Secret Ingredient is HTTP chunked encoding, accessed through web.py's generators, and careful page design---almost every byte from the server is renderable as it arrives, and later bytes never disrupt placement of earlier objects. > Your URL highlighter seems a bit trigger-happy though: > > https://nmweb.evenmere.org/show/8760s7zr47.fsf%40zancas.localnet > > I don't think bremner was trying to link to http://index.cc ! As a wise soul once told me, use a library and then blame them. This is the Mozilla Bleach library, used for both sanitizing text/html parts and for linkifying text/plain parts. But since that supports filtering: sure, this can only linkify things starting with 'http[s]://' >> It's possible to get it to dump the whole mbox by clicking through the >> obvious links; please consider exploring at >> https://nmweb.evenmere.org/search/monkey instead. > > this is interesting because it shows me threads where some messages have > monkey in them, but i can't tell which messages actually have the > relevant search term. Maybe it could highlight the found messages? Very careful examination would have shown that the em-dashes between author and subject were red for matches. Now matches are in italics. > Also, once i'm looking at one message, i don't see an easy way to go > "next" in the thread. Yup. The thread object isn't accessible by then: it existed in the scope of the search query, and is gone by the time we show the message. get_replies isn't available. So what's the alternative? get_thread_id(), search for that thread id, identify this message *in* that thread id, and then link to the next message with a "next" link? While doing it, why not show the thread structure at the bottom of the message, I guess. With bleach integrated (all of five lines), I think this is safe enough to let random notmuch users run it. The worst they'll do is expose their mailstore on tcp/8080. Any interest in taking this into the upstream contrib directory? -Brian