MBOX-Line: From brong at fastmail.fm  Thu Mar 20 19:30:35 2014
To: imap-protocol@u.washington.edu
From: Bron Gondwana <brong@fastmail.fm>
Date: Fri Jun  8 12:34:52 2018
Subject: [Imap-protocol] IMAP SUBMIT Extension, take two
In-Reply-To: <39b431a9-93a6-42b1-9cbe-5788d5958f43@flaska.net>
References: <5f20eeec-c84b-4395-b89b-dfc243d9c465@flaska.net>
	<66E46BE7-0C45-4EFD-B18F-5A6959AADAC4@gmail.com>
	<db2cac03-876f-4966-bf1f-1a7f8d9f4536@flaska.net>
	<219fd97c-e1fd-48e4-b8ae-fcf96537a9bb@gulbrandsen.priv.no>
	<1395341331.29069.96929213.1F949AAB@webmail.messagingengine.com>
	<39b431a9-93a6-42b1-9cbe-5788d5958f43@flaska.net>
Message-ID: <1395369035.8071.97071749.6F2A6445@webmail.messagingengine.com>

On Fri, Mar 21, 2014, at 12:11 PM, Jan Kundr?t wrote:
> On Thursday, 20 March 2014 19:48:51 CEST, Bron Gondwana wrote:
> > But now we're proposing a state transition from "UNSENT" to "SENT" - and 
> I
> > strongly believe that rates a readable change on the server, either a 
> flag
> > or a standard annotation name.  All I think it needs is a transition from
> > "no flag present" to "\Sent" flag present, or $Sent if \Sent is 
> considered
> > too impossible to add at this stage of the game.
> 
> Any particular reason why sticking with $Submitted [1] is not OK?
> 
> [1] http://tools.ietf.org/html/rfc5550#section-5.10

No, you're right.  Apart from the whole \ vs non \ flags issue [1].

Let's not confuse things with more flags.  So define SUBMIT to:

a) fail if $Submitted is set on the message
b) fail if $SubmitPending is NOT set on the message (you can append
   with $SubmitPending set, so there's no round-trip cost)
c) add $Submitted on success
d) clear $SubmitPending on success

(in that order I think, if you can't do it atomically - it's easier to
 know that you need to clear $SubmitPending later than to know that
 you ever planned to submit the message if there are no flags on it)

Bron ( and yes, maybe I should actually re-read your draft, which
       probably says exactly these things )

 

[1] personally, I wish there was no such thing as \ in flags, because
    it means that SOME flag names aren't an atom, but there you go.




-- 
  Bron Gondwana
  brong@fastmail.fm

