[Jmap] Re: Publication has been requested for draft-ietf-jmap-calendars-16

"Murray S. Kucherawy" <superuser@gmail.com> Mon, 20 May 2024 06:43 UTC

Return-Path: <superuser@gmail.com>
X-Original-To: jmap@ietfa.amsl.com
Delivered-To: jmap@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 733AFC1519A0; Sun, 19 May 2024 23:43:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.094
X-Spam-Level:
X-Spam-Status: No, score=-7.094 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id PgXhrLMvPN3Q; Sun, 19 May 2024 23:43:10 -0700 (PDT)
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com [IPv6:2a00:1450:4864:20::636]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C1926C1519A5; Sun, 19 May 2024 23:43:10 -0700 (PDT)
Received: by mail-ej1-x636.google.com with SMTP id a640c23a62f3a-a599fc7943aso95811766b.1; Sun, 19 May 2024 23:43:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1716187388; x=1716792188; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=07lnUoQ8CY/qprx7Pi8Bl0nrCtin+JXSr/i4RRHW/vE=; b=W7+UmqxGATE4mJ0yc6tFPZ22u6RPu8IIaQnp0ls9Gn0XaI80Nn5Xky9Ug8RO1lbZOD nP03nkWUTQFRhh/u1yu7vRmQ8WBCEAMgh85dqoz4tdKhVQuutrVuwBfG/HoX9Q82Ip5N C1tZZyqXxb2UjUw/yiErgwclxVX5x+9QQXMCzGb3D0ISEoNp3l4CLBk+kjFPG/0d7UYY uuNvq3Hlaxoqs6ggkUeFx9FSCvZJEj1U0WnH5ERYWkHcA+7Ce+y4eXCHJoC1vtF+u66n wlo9pCORIcMXlrhFHAk8pL4/fd2FDvhlW4/ySaWB50LAKFeV79Fx0uXk2lsLUy6dD6Ql moZA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1716187388; x=1716792188; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=07lnUoQ8CY/qprx7Pi8Bl0nrCtin+JXSr/i4RRHW/vE=; b=ikPhrhaQtidIYfm1+xNpw6ACS+/AbNlprwF4uWHNgCS/3wsQZhW32at//hZ7HEI080 qoi7d6+dypFQHbDHtfToVAZf+4mnhk+CsltQtHl2yIzs9z3h9TQGLrriWbl/wsOeDpOr mfs8BJ2/iTmFiCpc01cKLgPS8qy6zB1ra1vA2AbXXqso6yk3XDNfzBID+IXfk5P9mqWV e0amue0k5VEqrUow0ASGVKSjt6RUsCYoWLg4C9u0MeQyVdHLg5CFo71OB3pWe24wHH+X 8p9g6FUVuQjVJk1ZgswgFtpl+PzyDzzCbUHLZTcGSYKFOMrRQIiAebtJT2V2uCw3N5hF Cq2w==
X-Gm-Message-State: AOJu0YyETBhi4c8dovLWOgd0mKQRWRwCiHTef/4FepLqYlhU9WOXULI7 nssdd6Q3din4wDjCESXGMQxxscE1lujsRGGqIZHzypsFAXMhsOha6xhQ4VVgx4rX4UHAOoOhHSB +7LHIOmMp2ddTfRwpiDpYFXHWUMCAlEfQByU=
X-Google-Smtp-Source: AGHT+IE4kiBkzePCAQZmmXJv3wGK6Atf4O2cE0mB+cH+ZVdxIFmbhb8GMbv+fRsk4dHDWgSVzdahVh8RVjStVCPnw8o=
X-Received: by 2002:a17:907:75c4:b0:a61:8c98:88c7 with SMTP id a640c23a62f3a-a618c98895bmr77958266b.2.1716187388004; Sun, 19 May 2024 23:43:08 -0700 (PDT)
MIME-Version: 1.0
References: <171271459746.56976.12506360052632056403@ietfa.amsl.com>
In-Reply-To: <171271459746.56976.12506360052632056403@ietfa.amsl.com>
From: "Murray S. Kucherawy" <superuser@gmail.com>
Date: Sun, 19 May 2024 23:42:55 -0700
Message-ID: <CAL0qLwa7Lc_6RydV11NzbLTBnnC++ZpkmxeRDZgbfoSFD_iU7A@mail.gmail.com>
To: jmap@ietf.org
Content-Type: multipart/alternative; boundary="000000000000a151ff0618dd0381"
Message-ID-Hash: 5O2HGN3ERYVOANN6QPTJN24S3625YL33
X-Message-ID-Hash: 5O2HGN3ERYVOANN6QPTJN24S3625YL33
X-MailFrom: superuser@gmail.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-jmap.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: jmap-chairs@ietf.org, joris@audriga.com
X-Mailman-Version: 3.3.9rc4
Precedence: list
Subject: [Jmap] Re: Publication has been requested for draft-ietf-jmap-calendars-16
List-Id: JSON Message Access Protocol <jmap.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/jmap/eWp2oTFGvrpL9RXbnxziZyAw84w>
List-Archive: <https://mailarchive.ietf.org/arch/browse/jmap>
List-Help: <mailto:jmap-request@ietf.org?subject=help>
List-Owner: <mailto:jmap-owner@ietf.org>
List-Post: <mailto:jmap@ietf.org>
List-Subscribe: <mailto:jmap-join@ietf.org>
List-Unsubscribe: <mailto:jmap-leave@ietf.org>

On Tue, Apr 9, 2024 at 7:03 PM Bron Gondwana via Datatracker <
noreply@ietf.org> wrote:

> Bron Gondwana has requested publication of draft-ietf-jmap-calendars-16 as
> Proposed Standard on behalf of the JMAP working group.
>
> Please verify the document's state at
> https://datatracker.ietf.org/doc/draft-ietf-jmap-calendars/
>

Sorry this has taken so long to dequeue.  The good news is that it looks
like it's mostly ready to go forward; most of my comments have to do with
presentation rather than substance.

AD Evaluation comments, in no particular order, based on the -17 content:

* What's the distinction being made in the registrations in terms of
"Intended Use"?  Some are "common" while others are "reserved", but the
latter group seems to me to be going into common use by advancing this
protocol.

* Why the SHOULD in Section 3?  How would a consumer interpret all of them
being false?  When might a producer legitimately send them all as false?
The same issue appears in Section 4.

* What interoperability problem is created if I disregard the SHOULD NOT in
Section 4.3?

* The SHOULD NOT in Section 5.8 seems like it ought to be a MUST NOT for
integrity reasons.  Why would one permit this?

* I disagree with the use of SHOULDs in Section 5.10.1.  If you're giving
flexibility intentionally, then I think you should lowercase them all.
You've already given up on enforcing any kind of interoperability and made
it mushy in the paragraph that comes before them.

* The SHOULDs in Section 6 and 7 seem weakly supported to me.  What's the
interoperability concern if one chooses to deviate from what's stated there?

* In Section 2.1, the "accountId" definition with parenthetical stuff
removed reads:

> Id of Account with the urn:ietf:params:jmap:calendars capability that
contains the calendar data for this principal, or null if none, or the user
does not have access to any data in the account. The corresponding Account
object can be found in the principal's "accounts" property, as per Section 2
<https://datatracker.ietf.org/doc/html/draft-ietf-jmap-sharing-08#section-2>
of [I-D.ietf-jmap-sharing
<https://datatracker.ietf.org/api/v1/doc/document/draft-ietf-jmap-sharing/>]
.

I have trouble parsing that.  Perhaps:

> Id of Account with the urn:ietf:params:jmap:calendars capability that
contains the calendar data for this principal, or null if either (a) there
is none, or (b) the user does not have access to any data in the account.
The corresponding Account object can be found in the principal's "accounts"
property, as per Section 2
<https://datatracker.ietf.org/doc/html/draft-ietf-jmap-sharing-08#section-2>
of [I-D.ietf-jmap-sharing
<https://datatracker.ietf.org/api/v1/doc/document/draft-ietf-jmap-sharing/>]
.

...assuming I understand what's going on here.

* In Section 2.1, the definitions of "mayGetAvailability" and
"mayShareWith" (booleans) are posed as questions, while in Section 2.2 the
boolean is defined with "If true, ...".  I think the latter reads better
and suggest changing the others.  This appears again in Section 4 for
"isVisible" and "includeInAvailability", but curiously not with the ones
starting "may".

* At the end of Section 3.3, "uri values" should be "URI values".

* In Section 4, there's this:

> True if the user has indicated they wish to see this Calendar in their
client. This should default to false for Calendars in shared accounts the
user has access to and true for any new Calendars created by the user
themself.
>
> If false, the calendar should only be displayed when the user explicitly
requests it or to offer it for the user to subscribe to. For example, a
company may have a large number of shared calendars which all employees
have permission to access, but you would only subscribe to the ones you
care about and want to be able to have normally accessible.

The first paragraph refers to users in the third person, the second uses
the second person.  I suggest normalizing on the third.

* Section 4 recommends use of UUIDs; you can make a reference here to RFC
9562.

* Section 4.3 (and I missed it in 2.1) uses the word "sharee", and I know
what it's supposed to mean, but it doesn't appear in either Merriam-Webster
or Oxford.  Have we used it in RFCs previously?

* In Section 5.8, it says "Clients SHOULD NOT allow users to manually edit
anything ..."; why is "manually" there?  What other kinds of editing are
you considering?

* Staying with Section 5.8:

> Similarly, the "utcEnd" property is translated into a "duration" property
if set. It MUST NOT be set in addition to a "duration" property and it
cannot be set inside "recurrenceOverrides"; this MUST be rejected with an
invalidProperties SetError.

This might be a function of the rendering of the document (I read it via
the HTML link in the datatracker), but (a) it seems to me
"invalidProperties" should be quoted, just like the other tokens are, and
as a result of observing that, now I've noticed that (b) quoting of tokens
(as rendered to me at least) is generally inconsistent throughout the
document.

* In Section 5.2, there's a reference to "[?@RFC8607]"; is this a rendering
problem or a typo?

-MSK