Authentication-Results: mail-b.sr.ht; dkim=pass header.d=falsifian.org header.i=@falsifian.org Received: from exoco.falsifian.org (exoco.falsifian.org [168.235.109.198]) by mail-b.sr.ht (Postfix) with ESMTPS id 3E87E11EF1B for <~rjarry/aerc-devel@lists.sr.ht>; Sun, 10 Jul 2022 15:10:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=2020-07-31; bh=0hnh8+Owd 8yPAk7jfumRZfvQEKz++Q0mbQFetvWErrU=; h=cc:in-reply-to:references:to: from:subject:date; d=falsifian.org; b=Wxd4lquhPJByuLEIE0LaczzcEn4jCI1g cfwJpcwmrZ7BXf7R+Of0UMSQEa+lwvT3iMqWPoFgnOEraMq08TQs7jJprzx/DJSX20fjYG 0BWWgbd8KYNEMQfM2Glcg8q3ZkGs+fl5yO3l0yV+ef1HJGuIWn7BjCXQWe7TMrkSdkRXhd f15f8AirZ2+hyF92IQxkopBbGAZRnAnwZu6AxaCEmdemVz2RKmUXwTABcE/l20cxFREHJ2 QyIffLofbq0Ow7yd6vy5vZ+IQSZJxwz6A7zYOwi8EzVdq6PJbsN3vGzMnUn1fnBAmO/Q3N 9rZDV5I2rfqKq0Yb83FFaHaYZFY4/g== Received: from moth.falsifian.org (cpef81d0f9cb2f3-cmf81d0f9cb2f0.cpe.net.fido.ca [72.140.58.252]) by exoco.falsifian.org (OpenSMTPD) with ESMTPSA id 80a8a2b0 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Sun, 10 Jul 2022 15:10:51 +0000 (UTC) Received: from localhost (moth.falsifian.org [local]) by moth.falsifian.org (OpenSMTPD) with ESMTPA id c114815c; Sun, 10 Jul 2022 15:10:42 +0000 (UTC) Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Sun, 10 Jul 2022 15:10:42 +0000 Message-Id: Subject: Re: [PATCH aerc] Allow not marking viewed messages as seen. From: "James Cook" To: "Moritz Poldrack" , "Tim Culverhouse" , <~rjarry/aerc-devel@lists.sr.ht> X-Mailer: aerc 0.10.0-61-g4240f1f-dirty References: <20220705060618.68685-1-falsifian@falsifian.org> In-Reply-To: Cc: On Sun Jul 10, 2022 at 8:18 AM UTC, Moritz Poldrack wrote: > On Sun Jul 10, 2022 at 3:48 AM CEST, James Cook wrote: > > Looking at that IMAP RFC link, I think the right thing to do is to fetc= h > > BODY.PEEK instead of BODY. Maybe aerc could always fetch BODY.PEEK > > instead of BOD, so setting \Seen is always deliberate. > I'd argue that BODY is the correct way to handle it and rather remove > the \Seen flag when requested. aerc is a mail client for which this > behaviour is the expected in most cases. That may be more consistent with the intention behind \Seen, but here are a few arguments for using BODY.PEEK nonetheless, at least if the user has set the new auto-mark-read=3Dfalse: - It removes a failure case: if aerc crashes or the Internet connection is lost after fetching but before unsetting \Seen. I really don't relish the idea of accidentally marking an email as \Seen --- with my workflow, that means the email drops off my radar, and it might have been important. - I would argue it's simpler. One request instead of two. - I could imagine aerc may be modified later to pre-fetch messages --- for example, in case the user wanted to search message bodies. Off-topic: I have thought a few times of using an "Archive" folder instead of read/unread status, because I feel like I'm working against the grain. I haven't switched for two reasons: (a) I don't like the idea of re-transferring a (potentially large) email a couple of times just because I decided to Archive it (mbsync, at least, isn't smart enough to move instead of copying); and (b) I don't think my Android email client (K-9 mail) can be made to show a complete thread combining archived and unarchived emails, and also indicate somehow which of them are archived vs. not. Read/unread just happens to be one of a very few flags that email clients are designed to display. What I'd really like is better support for IMAP (custom) labels: both with Maildir/mbsync and on some Android client. Then I'd simply use an "archive" or "inbox" label and be done with it. --=20 James