Re: Cyrus collaboration (was: Re: Change of release and governance model for Thunderbird)

Bron Gondwana brong at
Tue Jul 10 18:52:50 UTC 2012

On Tue, Jul 10, 2012, at 10:37 AM, Andrew Sutherland wrote:
> On 07/10/2012 07:29 AM, Bron Gondwana wrote:
> > This is something I'm particularly interested in, as a server maintainer and supposedly working on a "better than IMAP" mail protocol.  If there's stuff I can do, or get involved in, I would be very interested in this.
> Although the B2G e-mail app is message-centric for the time being, we 
> will likely go conversation-centric again in the future.  During my most 
> recent investigations of modern IMAP servers, I saw that Cyrus is 
> working on explicit support for conversations, possibly as a new 
> standard extension (XCONVERSATIONS?).  Because conversations are most 
> problematic for mobile devices that don't want to sync the entire 
> contents of a folder, this is especially interesting for me and B2G 
> email.  Probably less so for Thunderbird since only the global database 
> cares about conversations and its desire to work cross-account means it 
> might not benefit so much.

Yeah - the cross account thing is a killer!

The conversations stuff, Greg Banks in our Melbourne office (Opera) is
looking at writing up an RFC, now that the behaviour is fairly stable.
We're already running the conversations code on our servers, available
at and at the moment.

It's not 100% done, and it's not in upstream Cyrus, but we do publish
our build tree on github, so anyone is welcome to look at the code.

The one nice thing we could offer (with XCONVERSATIONS) to something like
Thunderbird is the "CID" field, which is the same for every message that
we have already joined into a conversation on the server.  I believe
Gmail also exposes a 64 bit value, and both are essentially "random" as
far as clients are concerned... so code to deal with one could deal with
the other easily enough.

> The replica work sounds very interesting; does it only support 100% 
> replicas, or does it support subsets?

For now, it's only 100% replica.   Subsets in terms of users is pretty
easy.  Subsets in terms of "not synchronising all the messages in the
single folder" is substantially trickier - especially since it uses an XOR
of the CRC32 of a representation of every message to create a final
"SYNC_CRC" value which can be compared to ensure both ends are identical.

  Bron Gondwana
  brong at

More information about the tb-planning mailing list