[JMAP] Re: Feedback on draft-ietf-jmap-filenode-01

Neil Jenkins <neilj@fastmailteam.com> Tue, 07 October 2025 03:35 UTC

Return-Path: <neilj@fastmailteam.com>
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 12AB76E5F2D1 for <jmap@mail2.ietf.org>; Mon, 6 Oct 2025 20:35:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.798
X-Spam-Level:
X-Spam-Status: No, score=-2.798 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, 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=fastmailteam.com header.b="fEwugcn+"; dkim=pass (2048-bit key) header.d=messagingengine.com header.b="X50VRhRA"
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 V9zP4U5lXnPY for <jmap@mail2.ietf.org>; Mon, 6 Oct 2025 20:35:07 -0700 (PDT)
Received: from fhigh-a5-smtp.messagingengine.com (fhigh-a5-smtp.messagingengine.com [103.168.172.156]) (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 A61526E5F2C5 for <jmap@ietf.org>; Mon, 6 Oct 2025 20:35:07 -0700 (PDT)
Received: from phl-compute-02.internal (phl-compute-02.internal [10.202.2.42]) by mailfhigh.phl.internal (Postfix) with ESMTP id 882ED14000C4 for <jmap@ietf.org>; Mon, 6 Oct 2025 23:35:07 -0400 (EDT)
Received: from phl-imap-15 ([10.202.2.104]) by phl-compute-02.internal (MEProxy); Mon, 06 Oct 2025 23:35:07 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= fastmailteam.com; h=cc:content-type:content-type:date:date:from :from:in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to; s=fm3; t=1759808107; x= 1759894507; bh=sdwmI/ixxK08iDeg4N9QtRwi9xaiJi+Fog0xuozPHxk=; b=f Ewugcn+dRBDa8M61CRDoHrdQy/lQ+KYpHlhndJD2o9pLepThrBxIYu8MdSdZUJXB 1rki7JtL4Y0eBUciZLoYF06N9wjHLVhP41sPmHJHLC81M+DBqtAYPFtvDV9UFRfQ F0RgqMqsp31XFEN9aKREQ/rlbOTY5TDEqzFUnitmKUhYYOMTS7856YqPvxn3cnyh UQND5xZLNzj1sKD6HYvCh+nnws0H7pYrw5NlI6PoOW9VfG/6KgB0xyFo8hfTKVqv R0E4JV8tEVBZ2cdf523oO0oioWwoqfz00Q3300Hq8JM+8D1AkAWq3zj+UV62y2Yn SItoCXAdjDWgUd4EWFNxQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t= 1759808107; x=1759894507; bh=sdwmI/ixxK08iDeg4N9QtRwi9xaiJi+Fog0 xuozPHxk=; b=X50VRhRAQEhUeQv+LiuEkv9nRvPTPT5cRyXCwSiC2nn7cs2rdn3 CsPIxYIBUyEnHJHTbOwOBfGhVMnqPqTsJFOutgST58YLEU5xH2ZDRTErWpa2IKvU W2WzSM4vCRfDak/XoaUFYBhMnGhGzBEfD/KYW8IfeDDKjhWtxdYoTOywRgbriQpk V2YMUh764eKQcRC5uKCDhgGyBJT6Bv7wYJlP3NRzdUGjKww6tzgaCtKx3sQy8Q7v bqCzK3xfjdXWJkRwE7WWWPJMdbUrwvjqjExJfEDqseLC8MmhsJPx6+CoCNlRLwhA 6Xy4oPzwQlqGHMgN4SAmA/iQ1bbLypF90fA==
X-ME-Sender: <xms:a4rkaPcGxMm3DXa9w7rY6ASe0Zx-GyQSuSXrgsMjrHlVNycb8JEvDw> <xme:a4rkaAC1-3_k8iDdfMLOqNQgvkuFW7NN9whLXShnNC22kB7X1dt4P753y0hPtIKLe PeTXEASiHrK407mvdbUe4Qo4WkureTboocsrnvYRBoN7pv6zQ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdeggdelleefhecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpuffrtefokffrpgfnqfghnecuuegr ihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjug hrpefoggffhffvkfgjfhfutgesrgdtreerredtjeenucfhrhhomhepfdfpvghilhculfgv nhhkihhnshdfuceonhgvihhljhesfhgrshhtmhgrihhlthgvrghmrdgtohhmqeenucggtf frrghtthgvrhhnpedtheffjefhhfettddugfelfefggfetjedvhfdvtdfhudfhvdfggfef ffdthfefgfenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhroh hmpehnvghilhhjsehfrghsthhmrghilhhtvggrmhdrtghomhdpnhgspghrtghpthhtohep uddpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepjhhmrghpsehivghtfhdrohhrgh
X-ME-Proxy: <xmx:a4rkaPAZqRlEumLDWCoqCaB7aoh6zzXO_2591WoHPlMrItdg5umXmQ> <xmx:a4rkaMe_LYr0mIjnIyGMis2mGq_Xe-MB1s7Fv9iY4Ccx5rJcdHEWWw> <xmx:a4rkaAPdXckblJpKcvRmITQ6pAJJpMJwZxIWevR_JbEIaSjNBdnliw> <xmx:a4rkaG5NwdIY777Nb11ZiDj5Meq35R8aXg71-KytyIRLuv49m_MnBw> <xmx:a4rkaFainVKUq_FhwtxrNmFHjyi7IFyxpuC9bX7qz9I-6Sg9QbAxKiUi>
Feedback-ID: ibc614277:Fastmail
Received: by mailuser.phl.internal (Postfix, from userid 501) id 5253C780054; Mon, 6 Oct 2025 23:35:07 -0400 (EDT)
X-Mailer: MessagingEngine.com Webmail Interface
MIME-Version: 1.0
X-ThreadId: AAoN6tqR_0TF
Date: Tue, 07 Oct 2025 14:34:46 +1100
From: Neil Jenkins <neilj@fastmailteam.com>
To: IETF JMAP Mailing List <jmap@ietf.org>
Message-Id: <2cf3683b-c10b-4689-8f26-6f89225fb88d@dogfoodapp.fastmail.com>
In-Reply-To: <2F0FC7D6-754D-4059-A46B-34399747BA95@stalw.art>
References: <2F0FC7D6-754D-4059-A46B-34399747BA95@stalw.art>
Content-Type: multipart/alternative; boundary="78e9bbc1b36340d1af02d3396b102a68"
Message-ID-Hash: L2V35HUKWBBYQ7JNFCVN4PNJCPJCZ33R
X-Message-ID-Hash: L2V35HUKWBBYQ7JNFCVN4PNJCPJCZ33R
X-MailFrom: neilj@fastmailteam.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
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [JMAP] Re: Feedback on draft-ietf-jmap-filenode-01
List-Id: JSON Meta Access Protocol <jmap.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/jmap/lVvEr-0wdZC1yc5YMTL7A_sRKcU>
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 Sat, 4 Oct 2025, at 01:16, Mauro De Gennaro wrote:
> - Sharable data types and isSubscribed: According to RFC 9670, a JMAP sharable data type MUST define the myRights, shareWith, and isSubscribed properties. However, I’m not sure isSubscribed makes much sense in the context of file storage. I’d like to hear your thoughts (and Neil’s too) on this.

I think it probably still makes sense — as the shared spec says, `myRights`/`shareWith` is whether you have permission to see it, `isSubscribed` is whether you want to see it! (i.e., The former is controlled by the person sharing the latter by the person it is shared with.) What's interesting here is the hierarchical nature of it — if you share a folder, you implicitly get permission to everything underneath it. I think the `isSubscribed` mostly only makes sense on whatever the top-level item shared with you is, or at least it doesn't make much sense to set `isSubscribed` to `false` in a folder that has an ancestor with it set to `true`. On the other hand, this is probably not going to hurt either, so possibly not worth worrying about and we can keep it consistent with the other JMAP APIs.

Cheers,
Neil.