[Jmap] Review of draft-ietf-jmap-rest-00
Robert Stepanek <rsto@fastmailteam.com> Mon, 18 March 2024 07:49 UTC
Return-Path: <rsto@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 922B2C151086 for <jmap@ietfa.amsl.com>; Mon, 18 Mar 2024 00:49:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.104
X-Spam-Level:
X-Spam-Status: No, score=-2.104 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, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, 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=fastmailteam.com header.b="Ow1l2o+I"; dkim=pass (2048-bit key) header.d=messagingengine.com header.b="M43NyUrR"
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 9CE7HhlEkH95 for <jmap@ietfa.amsl.com>; Mon, 18 Mar 2024 00:49:23 -0700 (PDT)
Received: from fhigh4-smtp.messagingengine.com (fhigh4-smtp.messagingengine.com [103.168.172.155]) (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 DE8A4C14CE2B for <jmap@ietf.org>; Mon, 18 Mar 2024 00:49:23 -0700 (PDT)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailfhigh.nyi.internal (Postfix) with ESMTP id BE69E11400C7 for <jmap@ietf.org>; Mon, 18 Mar 2024 03:49:22 -0400 (EDT)
Received: from imap43 ([10.202.2.93]) by compute5.internal (MEProxy); Mon, 18 Mar 2024 03:49:22 -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:message-id:mime-version:reply-to:subject :subject:to:to; s=fm3; t=1710748162; x=1710834562; bh=Lk1tHAvvyX 3ZrnOo54sPTbbJJkBHMaoB5cRAnC0Nh6s=; b=Ow1l2o+ILhDxAM4cWBtwxumBEL nDMXKL4+KKYpELedOAgA1+Bc4Tmzq8MKl6Oopt64Mh0jgjBGOtV1DK8/4kd2qQnk toJkrgt2zCn8EhxLE4Jl24OilyLIgE0D5LwLUsWK8I0MgY6xrSL+628IV/biWQT0 9mTFBe7INXD3yXTFrMFYSRewQNyGaehAVBwYs01PNqGkPd/lyFH7BbptIMvcVmga sg1hK3OOrXywJRArk1orc9dafzPW9ZHLBIxDWOCGCwN40zpIHdJF8vvNpaa4FA8k hxrUDruRIdGfmNx9I94C4NAG0SOgQLgtv3Xzk93palWhMmQUtCuPQmawnOWw==
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:message-id :mime-version:reply-to:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t= 1710748162; x=1710834562; bh=Lk1tHAvvyX3ZrnOo54sPTbbJJkBHMaoB5cR AnC0Nh6s=; b=M43NyUrRUGKXU88Ipoh6pLGvOxoyP04QIkytpAMoWIQ32+Eto6d Ow01KoN04lHta2JeS7ULMIK1iTgoRuCjHQA82ql1zXjmF9qLEGGDRyv4BjQ9R2A7 UguLG81PreW1aCBCyhVgYmoQd6jdAfWH3/jMkl8AXNkRbAb0i6HTtqWj5FTweZ0T ETrSnB802F3iAvfODo64oSL2bQM3EAWarTjMY6LmaU85p++3fzTDgWrE/XQM15mq exroQE8BPyPwMq5zblq/0ZL8wlkUKdKX43PmpKOlgOzkTJdjv+S5+heoejjHA5Pv KFd+cWouLb2zFvOvO4+NVAOg/z2DUWA02ZQ==
X-ME-Sender: <xms:AvL3ZRVDDijuQQxrouB72nOfylAtegWKDghUPyI2fUqkV-pRQTSDGQ> <xme:AvL3ZRmKqTMMMWbI82FEkayugmeyuApEZ8OEa1bppG00iY_gjPvYb4Lff56uY16xQ 4Ey-lJVNN8MPw>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrkeeigdduudefucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefofgggkfffhffvufgtsegrtderre erreejnecuhfhrohhmpedftfhosggvrhhtucfuthgvphgrnhgvkhdfuceorhhsthhosehf rghsthhmrghilhhtvggrmhdrtghomheqnecuggftrfgrthhtvghrnhepffelkeetgffhfe egteelieeivefgfeekteethfduudekueevjedutedtleevffevnecuvehluhhsthgvrhfu ihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomheprhhsthhosehfrghsthhmrghilh htvggrmhdrtghomh
X-ME-Proxy: <xmx:AvL3ZdaarkXis3zE-Mm3F4QQ_mlTXwDTKkZQ6iR0O4br1U_OPET5Nw> <xmx:AvL3ZUWdnyB24bCk8ZyuYK8nGJIgRnMs4-q2oe6ib-VMj_P8hakZXA> <xmx:AvL3Zbm4IVl0XQrL4KTtJ0sx-B-F8zHtIbddO3Ygc7JvAkxGfMFOSQ> <xmx:AvL3ZRd5xHh3En94Alri75FccPS9RNFC1ZMQQ73H_8vboWXdKfa7EQ> <xmx:AvL3Zav85-AXu_xv60pUDKy_GRfEnK28UebkDskcmRsUBcJaDRgftg>
Feedback-ID: ia5d944da:Fastmail
Received: by mailuser.nyi.internal (Postfix, from userid 501) id 833FC2D4007D; Mon, 18 Mar 2024 03:49:22 -0400 (EDT)
X-Mailer: MessagingEngine.com Webmail Interface
User-Agent: Cyrus-JMAP/3.11.0-alpha0-303-g43be7e9a62-fm-20240315.002-g43be7e9a
MIME-Version: 1.0
Message-Id: <ba63156b-5257-445c-98ad-66178e351554@app.fastmail.com>
Date: Mon, 18 Mar 2024 17:49:01 +1000
From: Robert Stepanek <rsto@fastmailteam.com>
To: jmap@ietf.org
Content-Type: multipart/alternative; boundary="6af8ab0b535d4ce4be2405919a04c426"
Archived-At: <https://mailarchive.ietf.org/arch/msg/jmap/XY1OkT0AThYS7otyJliGB5zKfZA>
Subject: [Jmap] Review of draft-ietf-jmap-rest-00
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: Mon, 18 Mar 2024 07:49:28 -0000
I just reviewed draft-ietf-jmap-rest-00. I do have no opinion on the need for the JMAP REST API, but it seems to fulfill a need (but see my remarks about section1). My comments mostly are about presentation: 1. I could not understand from the Introduction in what cases REST would be preferred. I can imagine they are use cases, but the intro left me uncertain on what they would be. Maybe provide one or two examples? 1.2.1 “the simplified JMAP REST API”. Is that the “Simplified JMAP REST API” or just the “JMAP REST API”. 1.3 “The JMAP Session Resource will be extended by the following property” -> “This specification defines a new property for the JMAP Session Resource type: 1.3 THE URL MUST contain the variable -> The URL MUST. Maybe also try to separate the two remaining capitalized words? 1.3 “Only properties that are a subset of the types String, Number, Boolean and arrays (as defined in [RFC8620] Section 1.1) can be referenced as variables” Question 1: referenced in what way? Is this related to ResultReferences? Question: 2 Is subset appropriate here? Remark: It isn’t the properties, but their values that must be one of String, Number, .. Maybe also state that property values of type object MUST NOT be used, as it seems as if any but objects are allowed? 2. The request typically consists of a single JSON-encoded Request object -> What do non-typical Requests look like? Why is it useful to state what typical is and can you be sure that this is going to be the case when this spec is in use by more people? The method call id in the Invocation object of JMAP Responses to JMAP REST requests SHOULD be set to empty string -> I did not know that empty strings even are allowed as method id, but looking at RFC 8620 it indeed seems legit! Do you expect issues with existing JMAP implementations that might expect ids to be non-empty?
- [Jmap] Review of draft-ietf-jmap-rest-00 Robert Stepanek