[JMAP] idea for filenode: "onExists: newer"
Bron Gondwana <brong@fastmailteam.com> Wed, 06 May 2026 01:51 UTC
Return-Path: <brong@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 A63ABE99CA52 for <jmap@mail2.ietf.org>; Tue, 5 May 2026 18:51:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1778032298; bh=U1TYcpOU6IH2/DefcIHOOXVwSvP4Jp0cvWzWhzJsEy4=; h=Date:From:To:Subject; b=de1ZQwoKf/3vvc6+dmQLHSiwAoUkqn+CbhXawdGgIOzQckUUJOw9mWBPxv+20wRw/ POQZ5RaqhAfD8Jb4LSkZDdFcxUjTRQ6n2XLLqD3O8kxotvj4fA426ypkkPaYCbwP93 dCyP4e6GEuLMl8MQNKKfJ54eljS5GlaxXUqzdneQ=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.797
X-Spam-Level:
X-Spam-Status: No, score=-2.797 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_MSPIKE_H2=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_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="F9qxkB6x"; dkim=pass (2048-bit key) header.d=messagingengine.com header.b="KaQow/o5"
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 b_L7D0HIBd6a for <jmap@mail2.ietf.org>; Tue, 5 May 2026 18:51:34 -0700 (PDT)
Received: from fhigh-a1-smtp.messagingengine.com (fhigh-a1-smtp.messagingengine.com [103.168.172.152]) (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 49AF0E99CA39 for <jmap@ietf.org>; Tue, 5 May 2026 18:51:34 -0700 (PDT)
Received: from phl-compute-10.internal (phl-compute-10.internal [10.202.2.50]) by mailfhigh.phl.internal (Postfix) with ESMTP id DD34F14000DB for <jmap@ietf.org>; Tue, 5 May 2026 21:51:28 -0400 (EDT)
Received: from phl-imap-15 ([10.202.2.104]) by phl-compute-10.internal (MEProxy); Tue, 05 May 2026 21:51:28 -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=fm1; t=1778032288; x=1778118688; bh=OcRQgSYxhL xGZUJtqMxijPiyJAp8PXr5x5tQKiFOThE=; b=F9qxkB6xGXecP91A3Rkwfq72zb OvZQAW1e+86dRVxKc18iicMU7nA0FewevCH9nFVYMa0/zTFiADDtAlTBwI0GqvSf zMx2L4pd2f9UmBgSFpvnh8lky8XgUAnuYe4arN0Knd2XRuC1fg4Q6x+qRtdbBGBr Vk1vVIcbiG8cMCxP+vJkwZMrp6HSA88/ze00cX5TKtb2tG+3rEcoLox/+NO//wcY U+2umTy4PtNQ615Q4X+J/02SKPwHLxHNKHXe+TQZY2fM+NqA+1bg/XvAZGpoBvJW Qbkn8FpratdGF4SNDjKfzGxh+8PHDrHDUqkYLD/VMa90ugQXeG95/5zuf19Q==
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-sender:x-me-sender:x-sasl-enc; s=fm3; t=1778032288; x= 1778118688; bh=OcRQgSYxhLxGZUJtqMxijPiyJAp8PXr5x5tQKiFOThE=; b=K aQow/o5y2MO2LmvEbIGOE2W5YUrstHYORBOKKRFxhjbddLiioiCcpUrQ+XVDhtK8 VBIIl6qPHn+nuMnh1eK9ej9XRH0VWIzIbCfeiG4IpX1M/LybzDGg1SxqWrltLlgo Rg+pc5Qkl1UM3YS0nekyGpCVDfTzFZ5ALngzHK70ns9rLuyKPc/7ZqF4sFhNGr6r z4Di956ipCdI1RVNv1mqNwffsUtOkdOEb7cPuEtbFtcjmlGM7LF/2oXhFpAwHNYe w4hN0D2ybAJTJN2NI9eliqNGVtnOXy+Q+sa1prAqso6RxmdIxL3HDPz3/MBZ3iD1 JxQ+BFjkG4SFL4V/J6jzQ==
X-ME-Sender: <xms:oJ76aTz5dbMJkrJMzHSw_Vh4-dxM938eT0cn8pYtpLqFv2h5w2NFpw> <xme:oJ76aWHaBQ4hL2uZGE6aJaZzfwMB2Q0LpK3jmTj2WbhNQhWLHA-uzINzdjwExEJrI zjE_XNUGta6hVs0XfLwtDxX0Nl7OhVzagUkoFcR5n0OVQ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefhedrtddtgddutdeffedvucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucenucfjughrpefoggffhffvkffutgesrgdtreerredttd enucfhrhhomhepfdeurhhonhcuifhonhgufigrnhgrfdcuoegsrhhonhhgsehfrghsthhm rghilhhtvggrmhdrtghomheqnecuggftrfgrthhtvghrnhepieehffevjeektdekheelie efveegtdekudefgeduieefheeggffgjeetveeljeegnecuvehluhhsthgvrhfuihiivgep tdenucfrrghrrghmpehmrghilhhfrhhomhepsghrohhnghesfhgrshhtmhgrihhlthgvrg hmrdgtohhmpdhnsggprhgtphhtthhopedupdhmohguvgepshhmthhpohhuthdprhgtphht thhopehjmhgrphesihgvthhfrdhorhhg
X-ME-Proxy: <xmx:oJ76adUvC54Dp5PcW4iuAeJS94vaorzeUwKzshjoWbsIWv955UusCQ> <xmx:oJ76aUjQuMx-W8Y_IlaeWP7VuOeCGwPqShTPY3IzftT2wsPLGdTcWw> <xmx:oJ76afDJUyRBy00HiqwuWeTgm66LPbQhz8BFLjB4LneDGqfdc2tYKA> <xmx:oJ76aVcc0HB0KlHrwuME53C6LW9r6XBvXQ1dGiw6zk5CsaHxaDFq9g> <xmx:oJ76abOLCDiXwSX85u8YTyB60de_1r6nwlII9cWwHAwfuUT_f3yGo4bI>
Feedback-ID: i2d7042ce:Fastmail
Received: by mailuser.phl.internal (Postfix, from userid 501) id ADDA3780075; Tue, 5 May 2026 21:51:28 -0400 (EDT)
X-Mailer: MessagingEngine.com Webmail Interface
MIME-Version: 1.0
Date: Wed, 06 May 2026 11:51:07 +1000
From: Bron Gondwana <brong@fastmailteam.com>
To: jmap@ietf.org
Message-Id: <389458a9-9475-453b-8697-048e28f4841c@app.fastmail.com>
Content-Type: multipart/alternative; boundary="e19e91a5aebbabd30a923533fac0e408c5895325"
Message-ID-Hash: 536AFB5YAAJDMKO7Z2XUDDKMCO45KX3A
X-Message-ID-Hash: 536AFB5YAAJDMKO7Z2XUDDKMCO45KX3A
X-MailFrom: brong@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] idea for filenode: "onExists: newer"
List-Id: JSON Meta Access Protocol <jmap.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/jmap/PHLDanQYYrIQjmdd1W-1BEL-LUs>
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>
Continue to screw with clients, I find myself wanting one more onExists option. If you pass "newer" then it will overwrite the file on the disk if the "modified" is less, but reject if it's the same or greater. This gives us the kind of logical ordering that most users want, I think. What do others think of this? Worth having? Bron. -- Bron Gondwana, CEO, Fastmail Pty Ltd / Fastmail US LLC brong@fastmailteam.com
- [JMAP] idea for filenode: "onExists: newer" Bron Gondwana