Re: [Jmap] Adding the Message::isForwarded property

Neil Jenkins <neilj@fastmail.com> Mon, 10 April 2017 07:44 UTC

Return-Path: <neilj@fastmail.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 958B612945D for <jmap@ietfa.amsl.com>; Mon, 10 Apr 2017 00:44:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.719
X-Spam-Level:
X-Spam-Status: No, score=-2.719 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=fastmail.com header.b=WHRx9gEx; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=mcOLmMpw
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Jz3QTeSFtrdA for <jmap@ietfa.amsl.com>; Mon, 10 Apr 2017 00:44:02 -0700 (PDT)
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3F97912945F for <jmap@ietf.org>; Mon, 10 Apr 2017 00:44:02 -0700 (PDT)
Received: from betaweb1.internal (betaweb1.nyi.internal [10.202.2.10]) by mailout.nyi.internal (Postfix) with ESMTP id A4211208EE for <jmap@ietf.org>; Mon, 10 Apr 2017 03:44:01 -0400 (EDT)
Received: from betaweb1 ([::ffff:10.202.2.10]) by betaweb1.internal (MEProxy); Mon, 10 Apr 2017 03:44:01 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastmail.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc; s=fm1; bh=mK91LClBAcmnCJmdtCfrp3KSjyrgk zrEC+VWKWqE3L8=; b=WHRx9gExxbyQZWcjzqoSWh+n5okwQCXpVQfCHuGKKcRam SlKRG1gC0E1bT25V6m6eadGUw3ahSdlCxSPRfiTLoXXiEj686gVvhOopSbXR9bQH Soa2LHv3HFqrWvXYPG2wgMJBFmkj9S4dT9tDQoPLRzaVIY4F/uocPlhvryiac4ud KMf+XSQlpyQ9YVcFF2RO4+aa+wLUsAY0ZFSrB4sFIWe5mlXRJ25eGLALI2lMK3sU AY443FI/FT/FCZfa8C5jAKrFkoRkpO/nBA817bpInjUYS1yJ0Isx4Yb8VRahHh2u ua5JCflUwpnvVtVfXF1qqFexWaJvEM04i7VzZrsPw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=mK91LC lBAcmnCJmdtCfrp3KSjyrgkzrEC+VWKWqE3L8=; b=mcOLmMpwMAYvyjj8JCIR1p HFMV6FP7hrCC/auwIToUGpGn4p6MN32owtwpV+IC0YLgOSOujoaT9CNAyuTke+ey uS6LXe5Q4t23tvtnoJ+EdzWkeTMjEatuCW0xgfbSWHBhhf1oscgx4pnYm0+f1WeG rPP0J8Nbg13axlEL2BHuFmyBd8/j0CF4DD+EueLyGsC8+Dhx7DRuxM2ZGYGGiVox 5/x6HSSjME7l4RzhNzxQlTtv974DIYbG17ErtkhMO/ia/N37//7uWa9jVC9XT/Mu fM9aaUNbHCAelXgV5HYQfgqWYMG5ZJI/sQeyCHTBogGAPmqL+UWirK4Vfa6O5K8A ==
X-ME-Sender: <xms:wTfrWB4MLVm8J3WYhu91luSKSwlWrQ-m_JXCr2Ywqrijka9KCzBiFw>
Received: by mailuser.nyi.internal (Postfix, from userid 99) id 61956E23C7; Mon, 10 Apr 2017 03:44:01 -0400 (EDT)
Message-Id: <1491810241.3519699.939632432.32581C91@webmail.messagingengine.com>
From: Neil Jenkins <neilj@fastmail.com>
To: jmap@ietf.org
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Type: multipart/alternative; boundary="_----------=_149181024135196991"
X-Mailer: MessagingEngine.com Webmail Interface - ajax-c42a28aa
References: <148716911729.17277.15371202023742081890.idtracker@ietfa.amsl.com> <b7ec34d3-3aaf-82af-3663-5b0966c83ff0@dcrocker.net> <b5753f7f-92f9-50dd-42f0-ce0de7360e08@linagora.com> <A9EDBE7D-4E3D-45C2-BB97-F74AC9DB9486@oracle.com> <9eb1fd3c-8868-9d24-6c30-46d333b69fef@isode.com> <3c1711a2-46dd-db1c-506e-5e1ad89ce56d@linagora.com> <92769755-62c6-7257-ce3d-7d0b5699735d@isode.com> <27c62cc8-68e0-49b5-4900-34c26d7b4c6a@linagora.com> <C88A669A-2143-4FC2-81EF-3C9A2CD5963B@apple.com>
In-Reply-To: <C88A669A-2143-4FC2-81EF-3C9A2CD5963B@apple.com>
Date: Mon, 10 Apr 2017 17:44:01 +1000
Archived-At: <https://mailarchive.ietf.org/arch/msg/jmap/b88VF0Hiu2OGbyuw4dLwTiUpNFA>
Subject: Re: [Jmap] Adding the Message::isForwarded property
X-BeenThere: jmap@ietf.org
X-Mailman-Version: 2.1.22
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, 10 Apr 2017 07:44:04 -0000

On Mon, 10 Apr 2017, at 10:08 AM, Neil Jhaveri wrote:

> I seem to be on the minority side here, but I personally do see the
> appeal in **isForwarded** being a first-class property. This is a core
> part of many modern client UI's showing a list of messages. If I had
> never used IMAP before, it would definitely seem weird and incongruent
> to me that answered is a property, but forwarded is a keyword,


This is a good point. From a pure conceptual view it *is* weird and
inconsistent.


> If there does end up being more support for this, I could see an
> argument for drawing a line in the sand on the most important
> keywords, and maybe upgrading $Junk/$NotJunk and $Phishing into first-
> class properties too. Other keywords like $SubmitPending and
> $Submitted seem to have their use cases handled quite differently in
> JMAP with the Outbox concept, so could be left alone in a raw keywords
> property.


Yes, I think this is worth considering. It provides a better interface
to this functionality. The main downside is when a new IANA keyword is
registered, at first it would just appear in the keywords property. Then
in the next JMAP spec version you would probably have it added as a
message property (and therefore disappear from the keywords array), and
so you would potentially need client code to handle both paths.
Although, maybe not if the JMAP spec revision could happen reasonably
quickly (and arguably it's a way of knowing the server does something
with this flag, which is the whole point of them, so you never need to
handle the keywords option).


Neil.