Re: [Jmap] Draft messages - mutability

Bron Gondwana <brong@fastmail.fm> Tue, 25 April 2017 23:02 UTC

Return-Path: <brong@fastmail.fm>
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 75E8612945C for <jmap@ietfa.amsl.com>; Tue, 25 Apr 2017 16:02:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.719
X-Spam-Level:
X-Spam-Status: No, score=-1.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, FREEMAIL_REPLY=1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=fastmail.fm header.b=M2jYj0Al; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=exhMIHah
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 c-B_qrsKgycV for <jmap@ietfa.amsl.com>; Tue, 25 Apr 2017 16:02:51 -0700 (PDT)
Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com [66.111.4.28]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 14B1712785F for <jmap@ietf.org>; Tue, 25 Apr 2017 16:02:51 -0700 (PDT)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id 525E621161; Tue, 25 Apr 2017 19:02:50 -0400 (EDT)
Received: from web4 ([10.202.2.214]) by compute6.internal (MEProxy); Tue, 25 Apr 2017 19:02:50 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastmail.fm; h= cc: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=b+di7Trf7d9cxBCzxT6ENsklV/zxc M2n/9WD2XM8+J4=; b=M2jYj0AlFkHtxzxD9wnuxYW2OPURY+/hM17iEBLBbBZZB a4+zxvfqCG0LogFOrQ056rxOihudm2kGLCBVrPsoGktkqN5yJSbZlhkeQi+dn3ES ym2A1po6kYHjTLF68kl0P2arScYgPnDGr3PU4j+YDdkEqQDwfZ9KbR4melUS6WCW eWbxO3tkHLJQbh1IlBXHCTTojM4AwPERpPIviuhNcROQ/POY0N9p6i1tLZkYRp7W 0UX5tzPNZ2wawh6PBT36eLXoh5JN2ytQsaagvZI+wNwPslfrOhhOq05vZpRX1zfs DxDAbO9v+a5sfX7lyosvOBRXsxSQx//dWQ7M9qd9w==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc: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=b+di7T rf7d9cxBCzxT6ENsklV/zxcM2n/9WD2XM8+J4=; b=exhMIHahVHp5P5NgH2IQKV 3xqvfD0ihlyX+9e8N2gG9xTsHKmZwf68w+RdgaLABX81UC+httYrEWb9RmEw4o1O UFthmECC7pQyKBe3VjNPc6YWS9bX1vfOzK9WG96Iu++Mp0d32POPA7mnn7OQJ1hl +rRICJbwlmys3zmhIaOqT9vDU5fVmXFAwWqbYCFz3x3xLaLfmneZ3OBj/bIrV8wx IG7D5283riuVhoBQcLZiQz4pjUqn9sv83jTVyw0C+vM9RUaKzfHrWZob2dAWkiyx yBRIkeGDHujofTPRHaebf9WMbJVOIbfqk6DD/L8JLvt2yDltxixuXc47OBIJcrtw ==
X-ME-Sender: <xms:mtX_WJwWVXa0Y-teekV2ixhTJkC4psjD7tPW923Me_FJmRqFCnO_Eg>
Received: by mailuser.nyi.internal (Postfix, from userid 99) id 2AB55BAB6F; Tue, 25 Apr 2017 19:02:50 -0400 (EDT)
Message-Id: <1493161370.738031.956233680.34739D08@webmail.messagingengine.com>
From: Bron Gondwana <brong@fastmail.fm>
To: Stu Brandt <stuart.brandt@teamaol.com>, Ted Lemon <mellon@fugue.com>, Neil Jenkins <neilj@fastmail.com>
Cc: jmap@ietf.org, Chris Newman <chris.newman@oracle.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="utf-8"
X-Mailer: MessagingEngine.com Webmail Interface - ajax-29d47332
Date: Wed, 26 Apr 2017 09:02:50 +1000
In-Reply-To: <818e7cf2-82fd-2101-227e-a6628dcad3ec@teamaol.com>
References: <1492998899.3316920.953769616.254C9CBD@webmail.messagingengine.com> <EDDD6045-ECAD-4EAB-AC11-842A9CB2E1CA@oracle.com> <1493084134.2830550.955039432.5403CAFB@webmail.messagingengine.com> <CAPt1N1m47nEY6TJr6Vx_oR1ZvYbjgkTSsyJ3URoX5+5m4Nt-rg@mail.gmail.com> <818e7cf2-82fd-2101-227e-a6628dcad3ec@teamaol.com>
Archived-At: <https://mailarchive.ietf.org/arch/msg/jmap/XSlvDkKp_lDD2OpHVolXAQSE8lM>
Subject: Re: [Jmap] Draft messages - mutability
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: Tue, 25 Apr 2017 23:02:52 -0000

Yeah, we have a strip attachments feature at FastMail. Generates a new email with same body structure but the part for each attachment replaced with a short bit of text explaining that the attachment was stripped. It's a feature that is needed less now that quotas are gigabytes rather than handful of megabytes.

The downside of the draft id is that you would need to search on it. The message object id will already have a fat index.

Bron.

On Wed, 26 Apr 2017, at 08:36, Stu Brandt wrote:
> Agreed. Mutability opens the door to needing to sync only those body 
> parts (or portions thereof) that changed since last sync point. It's 
> also unlikely that a mutable content concept could be restricted to just 
> "drafts" since there are all sorts of use cases around a user wanting to 
> change the content of messages they received. In Alto, for example, once 
> a user sees the photo stack the inevitable question is "how do I delete 
> these old photos...I want to keep the email but without the photos".
> 
> We can totally re-envision the mail store as a versioned document store, 
> which I agree would be interesting, but that seems like a significant 
> scope change for JMAP to cover it. And it seems like we have enough of 
> that already.
> 
> - Stuart
> 
> On 4/24/17 7:00 PM, Ted Lemon wrote:
> > If drafts are mutable, the implication is that synchronization based on
> > message ID can't happen without something like a version modifier. At
> > which point why not make every message versioned?
> >
> > On Apr 24, 2017 9:35 PM, "Neil Jenkins" <neilj@fastmail.com
> > <mailto:neilj@fastmail.com>> wrote:
> >
> >     __
> >     On Tue, 25 Apr 2017, at 11:02 AM, Chris Newman wrote:
> >>     I see a lot of cost and no benefit to making a draft a different
> >>     datatype from a message.
> >
> >     I don't see any benefit to making it a different data type. However,
> >     what we currently have is that, like IMAP, a message is immutable
> >     except for flags/mailboxes. This is a pain for client authors trying
> >     to keep track of a single draft as it is saved through multiple
> >     revisions (especially when the user has multiple clients). One
> >     possible solution to this is to simply say any message with the
> >     \Draft flag set is fully mutable (while keeping the same id). I
> >     think we would also want the server to enforce that a message cannot
> >     be changed from/to draft state after creation. If it starts a draft
> >     it stays a draft, or vice versa.
> >
> >     From a protocol perspective, since most messages won't be drafts
> >     (with a normal user) you still get the efficiency of immutable
> >     messages (you only have to refetch flags/mailboxes, not the whole
> >     message) for most of the messages in the mail store. But it will be
> >     easier for MUAs to handle drafts, and particularly allow for a much
> >     better experience when editing the same draft message across
> >     multiple devices.
> >
> >     Neil.
> >
> >     _______________________________________________
> >     Jmap mailing list
> >     Jmap@ietf.org <mailto:Jmap@ietf.org>
> >     https://www.ietf.org/mailman/listinfo/jmap
> >     <https://www.ietf.org/mailman/listinfo/jmap>
> >
> >
> >
> > _______________________________________________
> > Jmap mailing list
> > Jmap@ietf.org
> > https://www.ietf.org/mailman/listinfo/jmap
> >
> 


-- 
  Bron Gondwana
  brong@fastmail.fm