Re: [Extra] Robert Wilton's Discuss on draft-ietf-extra-imap-fetch-preview-09: (with DISCUSS and COMMENT)

Barry Leiba <barryleiba@computer.org> Wed, 23 September 2020 17:05 UTC

Return-Path: <barryleiba@gmail.com>
X-Original-To: extra@ietfa.amsl.com
Delivered-To: extra@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7E9C63A131B; Wed, 23 Sep 2020 10:05:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.402
X-Spam-Level:
X-Spam-Status: No, score=-1.402 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
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 PqMFDPfGXII7; Wed, 23 Sep 2020 10:05:06 -0700 (PDT)
Received: from mail-ua1-f48.google.com (mail-ua1-f48.google.com [209.85.222.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D20DE3A08FB; Wed, 23 Sep 2020 10:05:05 -0700 (PDT)
Received: by mail-ua1-f48.google.com with SMTP id j12so82144ual.7; Wed, 23 Sep 2020 10:05:05 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=faC+w8rcufX0kRbbk9gtPh33SGkfjMy4eJso4hEl9Qs=; b=INV3Z+N9bTmpLlBEccW1q58/YyD6bWCWyKFDpowVsLJQMP2wPvOlK3Qk03XHqjDTrj IS6SQChcy5V26Cetm4bPk2MrWzHXgTrAusdDhTTbIvgShzSo2EOP1MC0hlUhTdJRNWjZ DDCuniyHEBwvhiet0ZW7AJzBXiKNnD7dyfH4nKj/r6qgjZ/e7+Xp6oK3XM0Y4p1kXDuM S4pMB+HvYEXG9x/BuoacoPsK2cfIbTUGCqijOJEfNv1ksmMUWLw4kHaaOU4MmhLUxkuA B57K3szcdRsASCeZknZvfrV6LVoJmPUeOPvKME9iMathjQnHZX+dWbIzh6sqBKSIO9z3 4UkA==
X-Gm-Message-State: AOAM530qtpzjo8Mayc+Vn08ltlmc0E2kpYVtdtRRfGDng5l0WCmpui/H 7NsQglC8f4jwy1jYrNLdR0lVk1auD7zxoLcf4lg=
X-Google-Smtp-Source: ABdhPJyZWjCYFYYUNHss93XL4BISOLYQQ12fqVif68vF3IwgNNGoLwgPlGwhAk5HwLeCwcHCQwNwbCgS+qZeuGM8xas=
X-Received: by 2002:ab0:5e8:: with SMTP id e95mr381082uae.72.1600880704690; Wed, 23 Sep 2020 10:05:04 -0700 (PDT)
MIME-Version: 1.0
References: <160085317360.24429.9473480615397529741@ietfa.amsl.com> <CALaySJLyzwOWYjdx_+y1QhEJ1KEVmuFDGnpPjXjiseB-An4wFg@mail.gmail.com> <MN2PR11MB43665D81C390B1BDB15A8621B5380@MN2PR11MB4366.namprd11.prod.outlook.com>
In-Reply-To: <MN2PR11MB43665D81C390B1BDB15A8621B5380@MN2PR11MB4366.namprd11.prod.outlook.com>
From: Barry Leiba <barryleiba@computer.org>
Date: Wed, 23 Sep 2020 13:04:53 -0400
Message-ID: <CALaySJ+RWxkFiSFEfsKvBricNb0p0C2Yom+PfNeXykPc_K0zUg@mail.gmail.com>
To: "Rob Wilton (rwilton)" <rwilton@cisco.com>
Cc: "extra@ietf.org" <extra@ietf.org>, Bron Gondwana <brong@fastmailteam.com>, The IESG <iesg@ietf.org>, "extra-chairs@ietf.org" <extra-chairs@ietf.org>, "draft-ietf-extra-imap-fetch-preview@ietf.org" <draft-ietf-extra-imap-fetch-preview@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/extra/0dJpo2jFToq7AjLc3grnTQ_EMN0>
Subject: Re: [Extra] Robert Wilton's Discuss on draft-ietf-extra-imap-fetch-preview-09: (with DISCUSS and COMMENT)
X-BeenThere: extra@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Email mailstore and eXtensions To Revise or Amend <extra.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/extra>, <mailto:extra-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/extra/>
List-Post: <mailto:extra@ietf.org>
List-Help: <mailto:extra-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/extra>, <mailto:extra-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 23 Sep 2020 17:05:08 -0000

Well, there's a general thing with IMAP: What does a server do if you
FETCH ENVELOPE or FETCH BODYSTRUCTURE and the server has a problem
generating the response (say, some transient error in parsing the
message because of a back-end database glitch?  There are two choices:
fill in NIL for strings and 0 for numbers and just fake up a response,
which can really screw up clients... or reply NO and hope that the
client will handle that well enough, and will maybe try again later --
which can really screw up clients.  In retrospect, maybe it would have
been nice to have the 3xx/4xx/5xx sort of mechanism, allowing for
temporary errors with semantics of "try again later, for some
unspecified value of 'later'."  But it's not that way, and there's
really nothing that can be done about it now.

Barry

On Wed, Sep 23, 2020 at 12:50 PM Rob Wilton (rwilton) <rwilton@cisco.com> wrote:
>
> Hi Barry,
>
> Please see inline ...
>
> > -----Original Message-----
> > From: iesg <iesg-bounces@ietf.org> On Behalf Of Barry Leiba
> > Sent: 23 September 2020 12:59
> > To: Rob Wilton (rwilton) <rwilton@cisco.com>
> > Cc: extra@ietf.org; Bron Gondwana <brong@fastmailteam.com>; The IESG
> > <iesg@ietf.org>; extra-chairs@ietf.org; draft-ietf-extra-imap-fetch-
> > preview@ietf.org
> > Subject: Re: Robert Wilton's Discuss on draft-ietf-extra-imap-fetch-
> > preview-09: (with DISCUSS and COMMENT)
> >
> > > Thanks for this document.  I found it easy to read and understand, but
> > have one
> > > potential issue that probably warrants a bit of discussion.  I don't
> > have any
> > > great knowledge of IMAP, so this may already be handled elsewhere, but I
> > had a
> > > concern about returning zero-length strings under error conditions.
> > >
> > >    It is possible that the server has determined that no meaningful
> > >    preview text can be generated for a particular message, and that
> > >    decision won't change later.  Examples of this involve encrypted
> > >    messages, content types the server does not support previews of, and
> > >    other situations where the server is not able to extract information
> > >    for a preview.  In such cases, the server MUST return a zero-length
> > >    string.  Clients SHOULD NOT send another FETCH for a preview for such
> > >    messages.  (As discussed previously, preview data is not immutable so
> > >    there is chance that at some point in the future the server would be
> > >    able to generate meaningful text.  However, this scenario is expected
> > >    to be rare so a client should not continually send out requests to
> > >    try to capture this infrequent occurrence.)
> > >
> > >    ... A server MUST NOT return NIL
> > >    to a FETCH PREVIEW request made without the LAZY modifier.
> > >
> > > When the LAZY modifier is not being used, then what would be returned if
> > the
> > > server was transiently unable to return the preview for any reason?
> > Does it
> > > still have to return a zero-length string in this error case?  Is there
> > some
> > > way that the server can indicate that it cannot satisfy the request now
> > but
> > > without indicating that no preview is available?
> >
> > The idea here is that there are three conditions:
> >
> > 1. The server determines that there's no preview available for this
> > message, and it returns an empty string: "" or the equivalent literal
> > {0}.
> >
> > 2. The server returns a non-empty preview.
> >
> > 3. The client uses LAZY, indicating that it's OK to defer the
> > generation of a preview and the server decides that deferral is the
> > best approach, so it returns NIL.  At some later time, the client
> > might re-send the FETCH without LAZY.  If it does, the server will
> > respond with (1) or (2).
> >
> > So, NIL does not mean that no preview is available for the message; it
> > means that the server is invoking the option given it by the LAZY
> > modifier, and is deferring the response.
> [RW]
>
> Sure.
>
> My concern is, for the non LAZY case, what does the server return if a preview should be available but the server cannot construct it at that point in time, for any reason?  Is it possible for the server to return an error? E.g., should it just fail the entire request?  If the only option is to return an empty string that they seems to imply not only that it cannot return a preview now, but it may well never be able to return a preview (which may not true).  I.e., the client has no way to distinguish between a transient failure at generating the preview and a semi-permanent indication that the preview cannot be generated for that particular message.
>
> I have memories of using IMAP clients where they effectively get stuck/broken and seem to have to slowly resync all the data from the server.  Hence my fear is that the server will fail to produce the preview at one point in time, and then the client is stuck without any previews for a subset of messages because a zero length preview string implies that there is no preview available and it SHOULD NOT ask again.
>
> Of course, I don't know IMAP, and hence I might just be missing something basic about how IMAP works ...
>
>
> >
> > > One minor comment:
> > >
> > >    This standardized display can reduce user confusion when using
> > >    multiple clients, as abbreviated message representations in clients
> > >    will show identical message contents.
> > >
> > > I didn't really find this reasoning to be compelling, and perhaps it
> > could be
> > > removed.  In my experience the amount of preview displayed depends on
> > client
> > > behaviour or settings (e.g., how much space to allow for previews).
> >
> > Perhaps some slight re-phrasing of this text will address your comment
> > ℗rhaps changing the word "identical"), but the point here isn't that
> > all clients will always present the preview in exactly the same way:
> > indeed, one might present less text than another due to space
> > limitations in the UI.  The point here is that if a message says that
> > we have to discuss document status in the EXTRA working group and we
> > should do it over lunch tomorrow and should we go for Chinese or
> > Indian food and at what time... we won't wind up with one client's
> > preview saying that the message is about the EXTRA working group's
> > document status while another's says it's about lunch plans tomorrow
> > and still another's that it's about China and India.  I think this is
> > useful text making a useful point, and that we shouldn't remove it.
> [RW]
>
> Okay.  Will look/respond to your subsequent email.
>
> Thanks,
> Rob
>
>
> >
> > Barry
>