Re: [PATCH WIP v2 0/5] emacs: show: redesign unread/read logic
authorJani Nikula <jani@nikula.org>
Wed, 4 Dec 2013 09:01:19 +0000 (10:01 +0100)
committerW. Trevor King <wking@tremily.us>
Fri, 7 Nov 2014 17:58:36 +0000 (09:58 -0800)
a7/4150a998c74085accf34754416e9c4fadb3a06 [new file with mode: 0644]

diff --git a/a7/4150a998c74085accf34754416e9c4fadb3a06 b/a7/4150a998c74085accf34754416e9c4fadb3a06
new file mode 100644 (file)
index 0000000..e110158
--- /dev/null
@@ -0,0 +1,144 @@
+Return-Path: <jani@nikula.org>\r
+X-Original-To: notmuch@notmuchmail.org\r
+Delivered-To: notmuch@notmuchmail.org\r
+Received: from localhost (localhost [127.0.0.1])\r
+       by olra.theworths.org (Postfix) with ESMTP id 95760431FAF\r
+       for <notmuch@notmuchmail.org>; Wed,  4 Dec 2013 01:01:44 -0800 (PST)\r
+X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: -0.7\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=-0.7 tagged_above=-999 required=5\r
+       tests=[RCVD_IN_DNSWL_LOW=-0.7] autolearn=disabled\r
+Received: from olra.theworths.org ([127.0.0.1])\r
+       by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
+       with ESMTP id FCSty5ggHqUt for <notmuch@notmuchmail.org>;\r
+       Wed,  4 Dec 2013 01:01:39 -0800 (PST)\r
+Received: from mail-qc0-f178.google.com (mail-qc0-f178.google.com\r
+       [209.85.216.178]) (using TLSv1 with cipher RC4-SHA (128/128 bits))\r
+       (No client certificate requested)\r
+       by olra.theworths.org (Postfix) with ESMTPS id C5F9E431FAE\r
+       for <notmuch@notmuchmail.org>; Wed,  4 Dec 2013 01:01:39 -0800 (PST)\r
+Received: by mail-qc0-f178.google.com with SMTP id i17so3268342qcy.9\r
+       for <notmuch@notmuchmail.org>; Wed, 04 Dec 2013 01:01:38 -0800 (PST)\r
+X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;\r
+       d=1e100.net; s=20130820;\r
+       h=x-gm-message-state:from:to:subject:in-reply-to:references\r
+       :user-agent:date:message-id:mime-version:content-type;\r
+       bh=CpAhOFE6pk8oVkUU2EoeHeschw9EP0Pt+vGdA7dmZ60=;\r
+       b=G/cbwPnX8tEV0QjAhhNNj8o8r9p5WCt/0fdluQ36FjlL3wk/rPP1biuRrerydBJbWR\r
+       Jfg4Z8uSABKMnjg6lHAxwysqpMz5VufH0g/FfHmQbz4tr5joCofNJBAA5LSoDftNNtRf\r
+       c1ijefOBlgLdu5a22aPgORDvLXgZC+SLGczItNe8zIfZQPa8zCmDMFUEf+z07GmjSFK2\r
+       a0CGOnhsZ1y34onmvOfTwO7gYYFYcj9XKjOD9gtIBK/qBYrOG4MGfvp7q4n83kPctyEr\r
+       HiWTU2QGi7/Yxy+m01f0tqAcmeYLAVU6x6OWxY/EUTwDliKq02hzjEujqP8H5Ha4L6XD\r
+       Ozrw==\r
+X-Gm-Message-State:\r
+ ALoCoQl9WbyB+tzXhBYz5snfTGpSkGwezFQqzlcE2tyJ2oM2dWuLhXifYlFgheP45aqDOYJkJlGt\r
+X-Received: by 10.224.127.74 with SMTP id f10mr98428359qas.56.1386147698116;\r
+       Wed, 04 Dec 2013 01:01:38 -0800 (PST)\r
+Received: from localhost ([2001:4b98:dc0:43:216:3eff:fe1b:25f3])\r
+       by mx.google.com with ESMTPSA id hb2sm15867812qeb.6.2013.12.04.01.01.37\r
+       for <multiple recipients>\r
+       (version=TLSv1.1 cipher=RC4-SHA bits=128/128);\r
+       Wed, 04 Dec 2013 01:01:37 -0800 (PST)\r
+From: Jani Nikula <jani@nikula.org>\r
+To: Mark Walters <markwalters1009@gmail.com>, notmuch@notmuchmail.org\r
+Subject: Re: [PATCH WIP v2 0/5] emacs: show: redesign unread/read logic\r
+In-Reply-To: <1385892147-16994-1-git-send-email-markwalters1009@gmail.com>\r
+References: <1385892147-16994-1-git-send-email-markwalters1009@gmail.com>\r
+User-Agent: Notmuch/0.17~rc2+4~gd7b0a0a (http://notmuchmail.org) Emacs/23.2.1\r
+       (x86_64-pc-linux-gnu)\r
+Date: Wed, 04 Dec 2013 10:01:19 +0100\r
+Message-ID: <8761r5at28.fsf@nikula.org>\r
+MIME-Version: 1.0\r
+Content-Type: text/plain; charset=us-ascii\r
+X-BeenThere: notmuch@notmuchmail.org\r
+X-Mailman-Version: 2.1.13\r
+Precedence: list\r
+List-Id: "Use and development of the notmuch mail system."\r
+       <notmuch.notmuchmail.org>\r
+List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
+       <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
+List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
+List-Post: <mailto:notmuch@notmuchmail.org>\r
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
+List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
+       <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
+X-List-Received-Date: Wed, 04 Dec 2013 09:01:44 -0000\r
+\r
+On Sun, 01 Dec 2013, Mark Walters <markwalters1009@gmail.com> wrote:\r
+> This is further wip of the message at\r
+> id:1385285551-5158-1-git-send-email-markwalters1009@gmail.com\r
+> see there for some discussion of the design.\r
+>\r
+> This series is still definitely wip: one reason for posting is so\r
+> people can play with different strategies for marking read\r
+> easily. (As WIP tree's unread handling is broken and the tests need updating.)\r
+>\r
+> The series consists of three parts: the first 4 patches add the notion\r
+> of seen: this means the user has seen the message but the message has\r
+> typically not been marked read yet. The seen messages are marked read\r
+> when the user quits the show buffer unless the user quits with\r
+> prefix-arg quit. In all cases an informative message is shown.\r
+>\r
+> The fifth patch adds a psot-command-hook stub for updating the seen\r
+> status. This seems a natural place to do the update as it means\r
+> however the user navugates around the buffer (eg next-message or\r
+> page-down etc) the update gets done.\r
+>\r
+> This is intended to be an easy place for other people to try out their\r
+> own mark read strategies.\r
+>\r
+> The final patch implements something pretty close to what I would like\r
+> for marking seen/read. A message is deemed seen provided the user has\r
+> seen the top of the message, and has seen either the bottom of the\r
+> message or a point at least some customisable number of lines into the\r
+> message. The customisable number of lines can either be a fixed number\r
+> e.g. 20, or a number depending on the height of the current window\r
+> e.g. the default is 3/4 of the window height.\r
+>\r
+> The idea is a message seen if the user has seen the entire message, or\r
+> enough of it they have to have noticed it. The figure of 3/4 also\r
+> means that the notmuch commands like next-message which place the top\r
+> of the message at the top of the window automatically mark the message\r
+> seen as either the whole message or at least one window full must be\r
+> visible.\r
+>\r
+> I would be very grateful for any comments on whether this behaves as\r
+> people would expect, what they would want instead etc\r
+\r
+Hi Mark, thanks for working on this.\r
+\r
+I had tons of mail reading to catch up, so this was a good opportunity\r
+to try the patches. I'll try to be objective and constructive next, but\r
+up front, just so there's no doubt: I don't like it.\r
+\r
+I think my issues boil down to the series containing two pretty\r
+significant changes at once: how to decide if a message was read and\r
+when to apply the tag changes to reflect that.\r
+\r
+I found it confusing that messages were not being tagged -unread while I\r
+was viewing the thread. I found it even more confusing to get a message\r
+"Marked N messages read" on quitting show view with no feedback on\r
+*which* messages were read, and often the N didn't feel right\r
+either. And I think that's the problem: I wanted to see the new\r
+heuristics on deciding whether a message was read in action, but I got\r
+zero immediate feedback on it!\r
+\r
+My suggestion is to drop the delay in tag changes for now, and focus on\r
+the part that decides whether a message was read or not. Do the tag\r
+changes immediately when you consider a message "seen". I think this way\r
+we get a better feel of how well the heuristics really work, and we can\r
+make it just right. I think that's the bug in we currently have in\r
+notmuch, and delaying the tag changes doesn't contribute to fixing\r
+it. Indeed I think the delay makes it *harder* to fix.\r
+\r
+Afterwards, we could add the delayed tag changes (although hopefully as\r
+an option) if desired. And keeping that in mind, AFAICT you wouldn't\r
+need to rework your patches all that much.\r
+\r
+How does that sound?\r
+\r
+\r
+BR,\r
+Jani.\r