[Evolution-hackers] Merging camel-lite to camel



Hi there,

This is a note to notify the fabulous developers at Evolution that
Matthew Barnes's preparation patch for camel-lite has been committed to
Tinymail's trunk.

This means that each difference that you'll find between camel-lite and
uptream camel is now a pure feature or functional change and that code-
style and whitespace usage are synchronised between the two softwares.

Matthew also told me he's going to work on getting pieces upstream.

Note that the IDLE work in Camel-lite can use some rewriting. I recently
posted a re-implementation of the IDLE support here. This implementation
used select() as proposed by Jeffrey Stedfast. It didn't yet work 100%
correct as I had a bunch of problems related to reading a buffer of data
and detecting when a line is finished (and other such problems). It did
sometimes work though... (that's not good enough)

Right now IDLE in Camel-lite is implemented by using an ugly loop in a
thread that usleep()s some time and does a non-blocking attempt to read
some data from the socket. Indeed, select(), poll() or epoll() are a lot
better and much more suitable for this (you don't have to convince me).

I'm right now also working on support for NOTIFY. With NOTIFY you
specify which exact notifications you want to get. You'll get them
either during IDLE mode, or as an unsolicited event during your
messages. My patch always uses IDLE mode for this.

With NOTIFY you can also know about count updates (STATUS, which gives
you the amount of messages and the amount of UNSEEN items) of folders
that are not currently selected, about remote subscription changes of
folders, about remote folder deletions, remote folder renames and remote
folder creations.

Combine all those together, and you can effectively make an E-mail
client that will always show an uptodate view of an IMAP account while
you edit and work with the account from another machine. And you'll get
instant updates "as they happen".

This is indeed a feature that you want on a mobile device, as a mobile
device's E-mail client is usually used primarily as a secondary E-mail
client. It also reduces the possibility that the user ends up in a
erroneous situation: he wants to put things in a folder that got removed
remotely.

If we can make the E-mail client update itself instantly, the user will
have to cope with the remote folder removal (or rename) because his view
with instantly update to this new situation.

With your cellphone in your pocket, the E-mail client on it opened and
active, and meanwhile editing your IMAP account using your laptop ..

	 this is a far more realistic situation that one might think.


-- Note that NOTIFY's RFC is currently in "proposal" state. No IMAP
servers currently implement it (perhaps Sun's beta version does).



-- 
Philip Van Hoof, freelance software developer
home: me at pvanhoof dot be 
gnome: pvanhoof at gnome dot org 
http://pvanhoof.be/blog
http://codeminded.be






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