Re: [Jmap] Tasks (draft-ietf-jmap-tasks-04) and recurrence

Neil Jenkins <neilj@fastmailteam.com> Tue, 14 June 2022 06:23 UTC

Return-Path: <neilj@fastmailteam.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 9B5DBC15D89C for <jmap@ietfa.amsl.com>; Mon, 13 Jun 2022 23:23:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.108
X-Spam-Level:
X-Spam-Status: No, score=-2.108 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_BLOCKED=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=fastmailteam.com header.b=XGb+ZKNK; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=BJUwJEMn
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 zCkafwL2koKh for <jmap@ietfa.amsl.com>; Mon, 13 Jun 2022 23:23:54 -0700 (PDT)
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com [66.111.4.29]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 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 0F8E5C15D893 for <jmap@ietf.org>; Mon, 13 Jun 2022 23:23:53 -0700 (PDT)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id C2C205C00EF for <jmap@ietf.org>; Tue, 14 Jun 2022 02:23:45 -0400 (EDT)
Received: from imap43 ([10.202.2.93]) by compute4.internal (MEProxy); Tue, 14 Jun 2022 02:23:45 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= fastmailteam.com; h=cc:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm3; t=1655187825; x= 1655274225; bh=SjnRxppXMQW1m/KMFz8DrnhVgMglIvkeqR+4cVHey0Y=; b=X Gb+ZKNKGTg0MJYKqGG1S78vPyPPmIIjFc1ZSI/xUji7yeOItPxdcmODQz/jhC+nB LyPWaaI8yuHLNkJs7ATSNPoWmyOm3fA6NCSly1V0alNTly1mopFEkvPF8UI4R3/D 2mwD8iB+cDQhi9NazklBXQbuKucjh3Ak+A+SCR7gYtbZuefV5I2IHm49Cwb2WI3s QAG1h/a53ekoK7rT2zdGwhF8AHMW60KuvroqL8D2AtxKqipNM9YAwJp39sXwCcT5 CrcgXexr4h0ZSca6yO5aMnkNf8Y/c15frx02fIu8y3w9V9F4sW+0P8y0BbOf8z2r m7z5xpFoYC/WliSTnnf1w==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:sender:subject:subject:to:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; t=1655187825; x=1655274225; bh=SjnRxppXMQW1m/KMFz8DrnhVgMgl IvkeqR+4cVHey0Y=; b=BJUwJEMn4kml7fd8YRoKNydMzSbOkCedG5ms1pEbNDI3 a1Jjb0ux2Xxwnmv9uE+sawUIfiafjEOKpOpoFA+/ofRdYakS9oUDFdPnFlPBt9LM MjpiAeYV1v93xxztyURUua2nGIhSw6+Vl7hFSi+Qt1JfE4bMfpjEykCuALV+siNR dh/0wn2kJo+Li4mZ7Wkwv2HR6WSGstteinkpX2D6qVweY8RUcQYJuDNkFcNMXHNs qhf/yIfmN7f4fsm7uzF29noclarOKsA1emOjTp/wuhwU5Objl6vUBDZKyoS94Dzy EiESkR+7Dec3KX/NZ3VnFtPZ36j0UILE97c5rfGApQ==
X-ME-Sender: <xms:cSmoYj6A4Ir76EOm1jyQBMWMaz42mMihcxoN14zUpMS1KDN941VCzw> <xme:cSmoYo5q7BkZCBKK2YDXTfo-we5mAbA6HF6UOf4Ld9-nfNgUcsIu-b9wxZxLF2pmU D6MRQlkH1pcmw>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedruddukedguddtiecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefofgggkfgjfhffhffvufgtsegrtderreerreejnecuhfhrohhmpedfpfgv ihhlucflvghnkhhinhhsfdcuoehnvghilhhjsehfrghsthhmrghilhhtvggrmhdrtghomh eqnecuggftrfgrthhtvghrnhepheeuhfdujedtieevkedvhfffgfelfeelhfefkeehhfek leekhfefueefveffjeeinecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrg hilhhfrhhomhepnhgvihhljhesfhgrshhtmhgrihhlthgvrghmrdgtohhm
X-ME-Proxy: <xmx:cSmoYqdKrcdXYfwL84dUIbstyVYMBUYa6_8JYo-RiIfBSVim4rx7Pw> <xmx:cSmoYkI_sp53h3K9Kxu32yfcdfxW9eKeEhM2G5cUV_6aMEhUgXhTiw> <xmx:cSmoYnL_1X_-wneINeg4F8mtzF4At5avgAtVUttMvp2b9j1RlzhZVg> <xmx:cSmoYsV03e2ZSR5bJL24L_b804HV0Dqc8N1lglmwXG6q1limDXRk_Q>
Feedback-ID: ibc614277:Fastmail
Received: by mailuser.nyi.internal (Postfix, from userid 501) id 9510B2D40071; Tue, 14 Jun 2022 02:23:45 -0400 (EDT)
X-Mailer: MessagingEngine.com Webmail Interface
User-Agent: Cyrus-JMAP/3.7.0-alpha0-712-gb9e94258b0-fm-20220610.001-gb9e94258
Mime-Version: 1.0
Message-Id: <f4cdbd28-6928-470f-a247-044701848ffe@dogfood.fastmail.com>
In-Reply-To: <cf696f96-bd96-4a23-b375-a4b52ea47685@www.fastmail.com>
References: <cf696f96-bd96-4a23-b375-a4b52ea47685@www.fastmail.com>
Date: Tue, 14 Jun 2022 16:23:25 +1000
From: Neil Jenkins <neilj@fastmailteam.com>
To: IETF JMAP Mailing List <jmap@ietf.org>
Content-Type: multipart/alternative; boundary="af941daa9fe143f9b442bd79305034d3"
Archived-At: <https://mailarchive.ietf.org/arch/msg/jmap/uoxfH-Hkskp4p4djXsaB4o6vhaI>
Subject: Re: [Jmap] Tasks (draft-ietf-jmap-tasks-04) and recurrence
X-BeenThere: jmap@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: JSON Message Access Protocol <jmap.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/jmap>, <mailto:jmap-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/jmap/>
List-Post: <mailto:jmap@ietf.org>
List-Help: <mailto:jmap-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/jmap>, <mailto:jmap-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 14 Jun 2022 06:23:58 -0000

The state strings are primarily for the server to advertise support. If the server supports recurrences, either:
 * the client supports recurrences: fine.
 * the client doesn't support recurrence expansion but can opt in to the capability and ask the server to expand: fine.
 * the client doesn't support recurrences in any way – it can see the capability is there on the server and either refuse to add the account with an appropriate error, or warn the user about compatibility issues.
There are many todo systems that don't support recurring todos, so I think it's a reasonable thing to split out as a capability. You definitely want to avoid splitting it up into different capabilities as much as possible to avoid exponential combinations to test and support, but I think this one is reasonable.

Cheers,
Neil.