[JMAP] Re: JMAP for Calendars comments
Mauro De Gennaro <mauro@stalw.art> Mon, 06 October 2025 16:17 UTC
Return-Path: <mauro@stalw.art>
X-Original-To: jmap@mail2.ietf.org
Delivered-To: jmap@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id AF5786E0CBFD for <jmap@mail2.ietf.org>; Mon, 6 Oct 2025 09:17:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Level:
X-Spam-Status: No, score=-2.099 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, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=stalw.art header.b="Dm5LI/KJ"; dkim=neutral reason="invalid (unsupported algorithm ed25519-sha256)" header.d=stalw.art header.b="GU2YgWAM"
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id RsvN3oHpPjwY for <jmap@mail2.ietf.org>; Mon, 6 Oct 2025 09:17:03 -0700 (PDT)
Received: from mail.stalw.art (mail.stalw.art [135.181.195.209]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id AD8306E0C843 for <jmap@ietf.org>; Mon, 6 Oct 2025 09:15:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; s=202404r; d=stalw.art; c=relaxed/relaxed; h=Message-Id:To:Date:Subject:From; t=1759767351; bh=rbRO9frj+gwhTf3324uPoCb XcGs1wNes5WmdV9F7Tv8=; b=Dm5LI/KJ07Vyr7JvnzxUimMAKw6Se0yYTqs91MunGW2P6RCEwp 5Z2zH+9uHPdD8fA05kM+Auk5qvOzGNVBo6/Nj29DyERT/0YrV/IlhBCQW5EVe9M4vFdOgEN/30V WWk8RRoilcWKCoI+gOX2HlFH+bspKxhYzxwuHH3aVltilFhpFAxwYendb6E0ba+ruDxEaq2t2cZ NEGCWwBzadAURqWsYKsUfmMuZVNJL599ukPh8UMuYpu6SzLmT+rmYj8zNYQxEmWqsk9Zrf1take uBvujb0yU9P413ZlEOgv+tAJB3ZlsEVmJ+qEdMxGj6dKWE8FXatqMV0pALr0OJCY8vQ==;
DKIM-Signature: v=1; a=ed25519-sha256; s=202404e; d=stalw.art; c=relaxed/relaxed; h=Message-Id:To:Date:Subject:From; t=1759767351; bh=rbRO9frj+gwhTf3324uPoCb XcGs1wNes5WmdV9F7Tv8=; b=GU2YgWAMdEIRYJvqW339L3B4x0qBHPs2uesg5w7ICb9pf77A68 XEkxAiwpnnoO57eAHE1YryfdYs/03ppkP9Dw==;
From: Mauro De Gennaro <mauro@stalw.art>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.700.6.1.11\))
Date: Mon, 06 Oct 2025 18:15:41 +0200
References: <101DEC25-A12F-4063-90FB-446C6E5190BF@stalw.art>
To: IETF JMAP Mailing List <jmap@ietf.org>
In-Reply-To: <101DEC25-A12F-4063-90FB-446C6E5190BF@stalw.art>
Message-Id: <FE59ABEF-C2DE-40D9-B795-0DD2DA15A37F@stalw.art>
X-Mailer: Apple Mail (2.3731.700.6.1.11)
Message-ID-Hash: UFKHUWSNYN7KNXRRG6BWEOUBYMFDOK5B
X-Message-ID-Hash: UFKHUWSNYN7KNXRRG6BWEOUBYMFDOK5B
X-MailFrom: mauro@stalw.art
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
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [JMAP] Re: JMAP for Calendars comments
List-Id: JSON Meta Access Protocol <jmap.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/jmap/9J5f0NwLWl9Gwp5yFERa1KRaUJM>
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>
Hi Neil, Sorry for yet another email, I promise this will probably be the last one for a while! > - Section 5.11.1 (Filtering): Some filters accept null as an argument. In some cases this makes sense (to indicate absence of a value), but for others like text, before, or after it doesn’t really make sense. Please disregard this comment, it’s been a while since I implemented JMAP Core and had forgotten that a FilterCondition object can contain multiple properties. I also have two new comments: - Calendar deletion: I think the spec should specify whether scheduling messages are sent when an entire calendar is deleted. Personally, I don’t think sending them is necessary, but it might be useful to have an option similar to sendSchedulingMessages in Calendar/set, just for consistency. - Section 5.3 – Attachments: The blobId property mentioned there is not currently registered with IANA. And finally, I wanted to clarify and summarize the discussion about ParticipantIdentity from my previous message. My understanding is that ParticipantIdentity tells the server which calendarAddress values belong to a user, so that permission checks can be applied correctly. I don’t think having a ParticipantIdentity/set method is inherently problematic: just like with email identities, the server can reject any calendar addresses that it determines do not belong to the account (which is covered in section 3.3). As for permissions, my understanding is that ParticipantIdentity objects can only be retrieved and modified by the account owner (otherwise the spec would need to define how to set permissions for them). My confusion mainly comes from how calendar addresses are handled in CalDAV. So let me ask a related question: how can one calendar user discover the principal ID or account ID associated with a given (local) calendar address? If the calendar address is simply an email listed under a Principal object, that’s straightforward. But consider this example: - John’s Principal lists john@example.com as the email address. - John also has two ParticipantIdentity objects: mailto:john@example.com and mailto:john.doe@example.com. Now, suppose Jane sees mailto:john.doe@example.com listed as a participant in an event and wants to query John’s availability using Principal/getAvailability. How can Jane determine which principal ID is associated with that address, given that it’s defined as a ParticipantIdentity under John’s account? The Principal/query method does not currently allow querying by calendar address and Principal objects can contain just one email, so how should a client resolve that mapping? Please let me know if I’m misunderstanding something here, and apologies again for the flurry of emails! Best, Mauro
- [JMAP] JMAP for Calendars comments Mauro De Gennaro
- [JMAP] Re: JMAP for Calendars comments Mauro De Gennaro
- [JMAP] Re: JMAP for Calendars comments Mauro De Gennaro
- [JMAP] Re: JMAP for Calendars comments Ben Bucksch
- [JMAP] Re: JMAP for Calendars comments Mauro De Gennaro
- [JMAP] Re: JMAP for Calendars comments Neil Jenkins
- [JMAP] Re: JMAP for Calendars comments Mauro De Gennaro
- [JMAP] Re: JMAP for Calendars comments Neil Jenkins
- [JMAP] Re: JMAP for Calendars comments Mauro De Gennaro
- [JMAP] Re: JMAP for Calendars comments Mauro De Gennaro
- [JMAP] Re: JMAP for Calendars comments Neil Jenkins
- [JMAP] Re: JMAP for Calendars comments Mauro De Gennaro
- [JMAP] Re: JMAP for Calendars comments Neil Jenkins
- [JMAP] Re: JMAP for Calendars comments Mauro De Gennaro
- [JMAP] Re: JMAP for Calendars comments Neil Jenkins
- [JMAP] Re: JMAP for Calendars comments Mauro De Gennaro
- [JMAP] Re: JMAP for Calendars comments Robert Stepanek
- [JMAP] Re: JMAP for Calendars comments Neil Jenkins