Re: [Evolution-hackers] The recent camel-lite improvements



On Wed, 2007-02-07 at 21:40 +0100, Gilles Dartiguelongue wrote:
> It'd be nice to see the work for IDLE make it to mainline too.

I would like to warn that the work for IDLE pulls nearly each and every
change to the IMAP code with it, as a dependency.

The IDLE work requires changes to dealing with expunges, changes to the
camelstream type (it needs non-blocked reading, and with the current
design of Camel there's also no other way to read the IDLE responses
correctly), changes to the imap-command type and really significant
changes to the locking of the IMAP provider's connection.

It also enjoys the condstore support, a lot. As well as that it enjoys
the rewrite of the imap_update_summary implementation. That's mostly
because the index of each summary item must be exactly correct with the
sequence on the IMAP mailbox.

Imagine that not being in sync and a push happening on that sequence. A
push like an expunge or a flags-update: the wrong message would be
changed locally.

That would be like a bug that the user experiences as "data loss". So it
really really has to be absolutely correct. This is also why extra
checking has been put in place in both imap_summary_update, imap_rescan
and the new imap_rescan_condstore implementation: it *HAS* to be correct

As a developer myself, I'm totally pro pushing the changes to Evolu-
tion's Mailer component. You would indeed have instant changes and even
eventually incrementally filling up the folder-view while you are
downloading the folder(this is possible, yes. Like Polymer .. yes).

But .... from a stability point of view, it *would* most likely
destabilize the "product" ... "Evolution" at this moment.

And that is must likely not interesting for Novell. Am I wrong or right
about this feeling of mine ? :-)

I would, however, aid the person that gets my work into a R&D branch of
Evolution or whatever. Evolution, however, isn't *my* focus project. And
this would consume my entire own focus. I will help the person who makes
it his project. That's what these notes are about.






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]