Re: [imapext] a very simple little imap extension, really quite magnificently simple
Jan Kundrát <jkt@flaska.net> Fri, 25 April 2014 17:29 UTC
Return-Path: <jkt@flaska.net>
X-Original-To: imapext@ietfa.amsl.com
Delivered-To: imapext@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C310B1A06B8 for <imapext@ietfa.amsl.com>; Fri, 25 Apr 2014 10:29:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.871
X-Spam-Level:
X-Spam-Status: No, score=-1.871 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, MIME_8BIT_HEADER=0.3, MIME_QP_LONG_LINE=0.001, RP_MATCHES_RCVD=-0.272] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Dvfx_iqLAFhX for <imapext@ietfa.amsl.com>; Fri, 25 Apr 2014 10:29:10 -0700 (PDT)
Received: from latimerie.flaska.net (latimerie.flaska.net [IPv6:2a02:2b88:2:1::4a7:333]) by ietfa.amsl.com (Postfix) with ESMTP id 8D9E31A028B for <imapext@ietf.org>; Fri, 25 Apr 2014 10:29:09 -0700 (PDT)
Received: by latimerie.flaska.net (Postfix, from userid 1000) id EE5E1615CE; Fri, 25 Apr 2014 19:28:56 +0200 (CEST)
From: Jan Kundrát <jkt@flaska.net>
To: imapext@ietf.org
Date: Fri, 25 Apr 2014 19:28:59 +0200
User-Agent: Trojita/v0.4.1-182-g7970633; Qt/4.8.5; X11; Linux;
MIME-Version: 1.0
Message-ID: <deacaf3d-9039-48d9-82a0-2d90a9f6cadc@flaska.net>
In-Reply-To: <7cb76610-37e3-4903-bdc1-6d2403e27cff@gulbrandsen.priv.no>
References: <0627dd7a-2203-40b6-b1c0-5b58613cbad8@gulbrandsen.priv.no> <8e45ff5c-1173-4119-bd53-47194d0f056b@flaska.net> <7cb76610-37e3-4903-bdc1-6d2403e27cff@gulbrandsen.priv.no>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: quoted-printable
Archived-At: http://mailarchive.ietf.org/arch/msg/imapext/CziR1BxK3QkAEhyyD95dw-TWh5I
Subject: Re: [imapext] a very simple little imap extension, really quite magnificently simple
X-BeenThere: imapext@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Discussion of IMAP extensions <imapext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/imapext>, <mailto:imapext-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/imapext/>
List-Post: <mailto:imapext@ietf.org>
List-Help: <mailto:imapext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/imapext>, <mailto:imapext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 25 Apr 2014 17:29:15 -0000
On Friday, 25 April 2014 18:57:38 CEST, Arnt Gulbrandsen wrote: > Storing MSNs persistently so you don't have to recompute at > session start (and at the same time supporting simultaneous > sessions) was simply too difficult for me. Given that you already have to track UIDs, I find it hard that it is expensive to take a look at the size of their set. > The client cannot send BAD. > > The server does send BAD when it receives a BAD from the client. The draft also says that the server should return a strange number when it would otherwise return a MSN. I object to that. In my opinion the server should signal this in a drastic way, including terminating the session if everything else fails. Sending back a mock-up MSN is about as evil as one could go in my book. >> Given that this extension disables EXISTS, you need soemthing >> like ARRIVED [1]. This change on its own will complicate this >> dratf a lot. > > Why? What's wrong with UIDNEXT? The fact that you can have gaps in UID range. The draft assumes that UIDs are allocated by adding one the the previous UID. Your whole scheme falls apart when this requirement does not hold. That requirement is not documented anywhere in the draft. If the UIDs are not allocated consequently, and the highest UID right now is 12345, what does the following mean: * OK [UIDNEXT 12500] guess it >> Also, what about STATUS and querying the offset of first >> message having a certain property through that? Or even STATUS >> EXISTS? > > I don't think that matters. > > If a client issues STATUS EXISTS, it kills any performance > benefit it got by issuing ENABLE UIDONLY. That's a problem for > the client, but not an interop problem, so nothing that requires > rules here. So this is an extension whose benefit is immediately neutralized by a client which wants to show the user the total number of messages. To me, that sounds like a very basic operation. >>> The server MUST respond with BAD to any command that uses an MSN, >> >> Add a requirement for [CLIENTBUG], please. We have these >> response codes for a reason. > > Do any other RFCs require CLIENTBUG? (Not suggest, or show in > examples. Require.) I'm not sure how that is relevant. This proposal is about designing an extension which radically changes how IMAP operates. Why not at least *mandate* a machine readable way of saying "hey client, you've just shot yourself in the foot"? >> And the client doesn't know how many messages are in the >> mailbox anymore. That's a rather radical change. I don't like >> it at all, it's a nice safeguard to detect broken sync and this >> extension takes it away. > > Not knowing how many messages there are is a necessary effect > of this. It's not an accidental problem, it's necessary. > > The point of this is to stop counting messages. If you stop > counting, you don't know (at least not precisely) how many you > have. It's as simple as that. OK, at this point I cannot imagine how such a client is supposed to work *at all*. Let's start with a blank state. The client knows nothing about the mailbox. It opens it and presumably wants to show a list of messages to the user. What is the client supposed to do now? What if it wants to show just a subset of the mailbox, perhaps last 1k items (actually it doesn't have to be 1k, anything between 500 and 3000 is probably fine -- it needs *something*, but not the full 4M mailbox). How to achieve that? What happens when a mail arrives? How is a resynchronization after being offline for a while going to look like? My answers and comments to the rest of your mail are very much dependant on how you propose the client to behave. I can imagine that I have all sorts of assumptions because I know how my client works. You might be coming from a different background. So I'm interested in seeing how the proposed mode of operation is supposed to actually work. I just don't get it now. Cheers, Jan -- Trojitá, a fast Qt IMAP e-mail client -- http://trojita.flaska.net/
- [imapext] a very simple little imap extension, re… Arnt Gulbrandsen
- Re: [imapext] a very simple little imap extension… Bron Gondwana
- Re: [imapext] a very simple little imap extension… Jan Kundrát
- Re: [imapext] a very simple little imap extension… Arnt Gulbrandsen
- Re: [imapext] a very simple little imap extension… Arnt Gulbrandsen
- Re: [imapext] a very simple little imap extension… Jan Kundrát
- Re: [imapext] a very simple little imap extension… Arnt Gulbrandsen
- Re: [imapext] a very simple little imap extension… Bron Gondwana
- Re: [imapext] a very simple little imap extension… Andrew Sutherland
- Re: [imapext] a very simple little imap extension… Timo Sirainen
- Re: [imapext] a very simple little imap extension… Arnt Gulbrandsen
- Re: [imapext] a very simple little imap extension… Arnt Gulbrandsen
- Re: [imapext] a very simple little imap extension… Arnt Gulbrandsen
- Re: [imapext] a very simple little imap extension… Timo Sirainen
- Re: [imapext] a very simple little imap extension… Bron Gondwana
- Re: [imapext] a very simple little imap extension… Arnt Gulbrandsen
- Re: [imapext] a very simple little imap extension… Bron Gondwana
- Re: [imapext] a very simple little imap extension… Jan Kundrát
- Re: [imapext] a very simple little imap extension… Adrien de Croy
- Re: [imapext] a very simple little imap extension… Brandon Long
- Re: [imapext] a very simple little imap extension… Adrien de Croy
- Re: [imapext] a very simple little imap extension… Bron Gondwana
- Re: [imapext] a very simple little imap extension… Lyndon Nerenberg
- Re: [imapext] a very simple little imap extension… Bron Gondwana
- Re: [imapext] a very simple little imap extension… Brandon Long
- [imapext] A digression Arnt Gulbrandsen
- Re: [imapext] a very simple little imap extension… Cyrus Daboo
- Re: [imapext] A digression Jan Kundrát
- Re: [imapext] a very simple little imap extension… Arnt Gulbrandsen
- Re: [imapext] a very simple little imap extension… Cyrus Daboo
- Re: [imapext] A digression Arnt Gulbrandsen
- Re: [imapext] A digression Jan Kundrát
- Re: [imapext] a very simple little imap extension… Adrien de Croy
- Re: [imapext] A digression Michael M Slusarz
- Re: [imapext] a very simple little imap extension… Michael M Slusarz
- Re: [imapext] a very simple little imap extension… Michael M Slusarz
- Re: [imapext] a very simple little imap extension… Arnt Gulbrandsen
- Re: [imapext] a very simple little imap extension… Arnt Gulbrandsen
- Re: [imapext] a very simple little imap extension… Adrien de Croy
- Re: [imapext] a very simple little imap extension… Arnt Gulbrandsen
- Re: [imapext] a very simple little imap extension… Jan Kundrát