After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 233428 - Evolution does not use IMAP extension IDLE (even if available)
Evolution does not use IMAP extension IDLE (even if available)
Status: RESOLVED OBSOLETE
Product: evolution
Classification: Applications
Component: Mailer
unspecified
Other other
: Normal enhancement
: Future
Assigned To: evolution-mail-maintainers
Evolution QA team
evolution[IMAP]
: 392333 434571 552224 605376 (view as bug list)
Depends on: 206062 271902 317755 321608 392333 433816
Blocks: 434571
 
 
Reported: 2002-11-07 11:30 UTC by Sergey V. Udaltsov
Modified: 2012-06-17 08:56 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Sergey V. Udaltsov 2002-11-07 11:30:04 UTC
Sniffing IMAP traffic (courier-imap server), I found Evo ignores the IDLE
extension.
Comment 1 Jeffrey Stedfast 2002-11-07 18:26:46 UTC
what is the rfc for this? what is it useful for? etc etc etc
Comment 2 Sergey V. Udaltsov 2002-11-08 00:34:26 UTC
Many IMAP RFCs: http://www.networksorcery.com/enp/protocol/imap.htm

For IDLE: http://www.networksorcery.com/enp/rfc/rfc2177.txt

This extension allows to track the changes in IMAP mailboxes in
realtime (without explicit polling). Now, when courier-imap uses FAM
library for effective IDLE implementation - it would be so cute if
evolution will benefit from this fast notification chain: user would
see a message at the very moment it arrives to the server. Probably,
other IMAP servers can use FAM too (or plan to do it at some point).
The extension is very simple (only 2 commands).
Comment 3 Kerin Millar 2003-02-05 14:16:08 UTC
I second this, the IDLE extension is an excellent idea, cleanly  
implemented and very useful. No Unix client (at lest not the GUI ones I've  
tried) seems to support it. Microsoft Outlook and Outlook Express are the  
only clients I have found that support it so far, rather ironic given that it is  
a worthy RFC!  
  
AFAIK, the vast majority of commercial mail servers (including MS  
Exchange) support it, and I recall someone saying that only one out of  
the major three open-source onces didn't (though sadly, I forget which  
one - I think that was on a similar bug filed against Mozilla).  
  
I use courier-imapd and it supports IDLE as long as it was compiled  
against a system with a correctly installed fam-oss. Some useful info (for  
users and developers alike) is available here:  
http://www.courier-mta.org/imapd.html  
Comment 4 Sergey V. Udaltsov 2003-09-29 10:19:29 UTC
It is nearly a year since this bug was filled. Any progress/plans?
Comment 5 Not Zed 2004-02-13 04:13:58 UTC
no plans.  the current imap implementation is based on a
fully-synchronous api, which would make it basically impossible to
implement.
Comment 6 Sergey V. Udaltsov 2004-02-13 10:42:04 UTC
Any plans to make it async? Not official, but any thoughts on this
would be welcome. Now, I got the impression Evolution is totally not
interested in async IMAP support - which sucks.:( 
Comment 7 Jeffrey Stedfast 2004-02-13 16:16:38 UTC
it would be nice to have, but we just haven't gotten around to
rewriting imap yet (well, we have sort of started rewriting it in our
spare time but progress is extremely slow)
Comment 8 Sergey V. Udaltsov 2004-02-13 16:39:52 UTC
Well, at least it gives some hope:) Count on me when you have
something to test.
Comment 9 Sergey V. Udaltsov 2004-02-23 11:33:32 UTC
http://blogs.msdn.com/omars/archive/2004/02/19/76061.aspx

According to this document, Thunderbird supports IDLE. So "no unix
client" is not true any more.
Comment 10 Kerin Millar 2004-02-23 14:49:05 UTC
> According to this document, Thunderbird supports IDLE.

Not so I'm afraid. That assertion was erroneous (see the comments at
the bottom of that page). It isn't likely that Thunderbird would
support any major architectural change at this point without it being
manifested in Mozilla Mail first! Here's the link for the relevant
entry in Mozilla's bugzilla:
http://bugzilla.mozilla.org/show_bug.cgi?id=141369
Comment 11 Sergey V. Udaltsov 2004-02-23 15:11:51 UTC
Right. It seems the guy used incorrect info. So - the more honour
would be for Evolution to support IDLE before Thunderbird!:)))
Comment 12 Phil Endecott 2004-03-26 00:59:55 UTC
Hi Evolution People,

I've written an IMAP server, and it supports asynchronous
notification of new messages.  But I can't find any clients to use
it with!  I hope this gets implemented one day, as Evolution is
generally a great piece of work.

For your information: the IMAP IDLE extension is not necessary for
asynchronous notification.  *Any* IMAP server can deliver
"unilateral" untagged data to clients at any time.  Quote from
RFC2060 (IMAP) intro to section 7:

"An example of unilateral untagged server data occurs when the IMAP
connection is in selected state.  In selected state, the server
checks the mailbox for new messages as part of command execution.
Normally, this is part of the execution of every command; hence, a
NOOP command suffices to check for new messages.  If new messages are
found, the server sends untagged EXISTS and RECENT responses
reflecting the new size of the mailbox.  Server implementations that
offer multiple simultaneous access to the same mailbox SHOULD also
send appropriate unilateral untagged FETCH and EXPUNGE responses if
another agent changes the state of any message flags or expunges any
messages."

The point of the IDLE extension is that normally a client doesn't
know whether the server is going to send it "unilateral" updates
or not; if the server isn't going to send them, it has to poll
by sending periodic NOOPs.  If the server advertises that it
supports IDLE, then the client can send an IDLE command and know
for certain that it will get updates.  

(BTW, I take it from all this that Evolution will get confused if
another client is accessing the same mailbox and changing its state?)

Regards,

--Phil.
Comment 13 Jeffrey Stedfast 2004-03-26 01:26:21 UTC
I've been working on a new IMAP client implementation but it will not
support IDLE. This is mostly because the IDLE extension does not fit
in well with the overall design of Camel.

to see what I've got so far, take a look at:

evolution/camel/providers/imap4/

(evolution/camel/providers/imap/ is the current implementation which
is known to be less than ideal, to put it nicely)

my new design/implementation *does* handle untagged events correctly,
and so does not suffer from the problems of the current implementation.

My new implementation will continue to use the NOOP command to give
the server a chance to notify us about updates.

I personally think that the IDLE command is overhyped. As long as the
client is requesting information from the server (which is generally
the case anyway), we get updates. If not, then the user must not
currently be reading mail - and if that is the case, then we'll still
get updates every time the auto-send&receive timeout expires and/or
the NOOP timeout expires.
Comment 14 David Moore 2004-04-23 03:19:51 UTC
Thanks for the new IMAP implementation -- it comes as a welcome
relief.  However, I would respectfully disagree with the assessment
that IDLE is overhyped.  How often has this happened to you:  You ask
for something from a nearby co-worker, and they tell you "I just sent
you an email".  At that point you repeatedly click "send/receive"
expecting the message.  It doesn't come due to delays on the
server....so you keep clicking.  Maybe I'm just obsessive-compulsive,
but if Evolution supported IDLE, I would know that I would never have
to do that -- I would be notified instantly when the message finally
arrived.  Repeatedly clicking send/receive stresses both the IMAP
server's load and my patience.

I can sympathize with the fact that the camel architecture doesn't
allow the IMAP file descriptor to be monitored by the main loop.  I've
been in that situation before too -- when a seemingly trivial feature
is extremely non-trivial to code due to prior design choices. 
However, although such a situation may cause the feature to be
delayed, it should never cause it to be dismissed or its usefulness
disputed.  I really hope there is some way that things can be
re-architected to allow the IDLE extension.  It's a useful feature to
many people and it's one of those things which makes the product seem
much more solid and responsive even if some users don't even realize
it's there.
Comment 15 Jeffrey Stedfast 2004-04-23 03:39:15 UTC
as zucchi just reminded me, we could put the CamelIMAP4Engine (or
whatever) into another thread and have it emit notifications that way
(since the front-end code will properly proxy them off to the main
thread for gui updating).

so this is just harder...
Comment 16 Not Zed 2004-04-23 03:44:41 UTC
Camel can easily support IDLE, the fact its API entry points are all
synchronous is irrelevent (actually it probably helps).

The problem is that in the *current* IMAP implementation, all server
interactions are synchronous, and driven directly by the API.  But
there's nothing to stop an implementation having a dedicated
imap-connection servicing thread which can receive asynchronous
notifications using its own main loop.  Camel's notification mechamism
is already asynchronous, so all you need is a servicing thread, some
message queues, and thats about it.

So simply put, this is still "future", if we didn't think we could
ever do it (and to me that would be a severe architectual
shortcoming), it would've been closed ages ago.  The imap
implementation i was working on in my spare time wasn't going to do
IDLE, but it could have been added.  The code itself is a long way
from working though.

So, I guess for now, users are just going to have to exercise their
finger a little more.
Comment 17 dax 2004-08-31 19:37:25 UTC
Count me in as another use very interested in getting IDLE support
Evolution.

I've been using a IDLE enabled IMAP client on another platform and
I've gotten very addicted to the 'IDLE' way of life.
Comment 18 Gavin Hamill 2005-03-05 03:38:09 UTC
Yes I'll second, third and fourth the calls for IDLE support. We use
Thunderbird exclusively in our Linux call-centre mainly because it's
the only capable Free Software client that supports IDLE. When you
have 30 people sharing the same sets of 'Service' IMAP mailboxes, IDLE
is about the only way you can stop customers from getting double or
triple responses!

The KDE devels have already told me that IDLE isn't coming any time
soon in KMail because the entire KIOSlave architecture can simply not
support any server-driven input at this time... it all has to be
client-invoked :/

From what I read, Evolution is the same? 

It's months since this bug's had any activity - is there any progress
on this? I would certainly never advocate any client that didn't
support IDLE thesedays. It's definately *not* overhyped.

Cheers,
Gavin.
Comment 19 Jeffrey Stedfast 2005-03-07 18:20:01 UTC
no progress... it's non-trivial and like I said way above, overhyped.

if you are interested in implementing it tho, go right on ahead. we
have been known to accept patches :)
Comment 20 xlkx 2005-09-23 13:34:19 UTC
Any progress? I fully support the requests for IDLE ext. support, is major
drawback for evolution.
Comment 21 Jeffrey Stedfast 2005-09-23 15:50:41 UTC
I've left the project and Michael is about to leave. No progress has been made
afaik.

The good news is a bunch of fresh blood has taken over the project in India and
they all seem full of energy, so maybe this will happen faster now :)
Comment 22 andreruediger 2005-12-09 13:28:34 UTC
I also support the request for this IMAP enhancement. I don't want to use 
Thunderbird anymore. :(
Comment 23 Joachim Breitner 2006-04-15 13:43:59 UTC
No acitivity on this bug since 2005? Well, I better get on CC:. IDLE support would be really neat.

Have you considered putting it up as a Summer of Code project?
Comment 24 Jeffrey Stedfast 2006-04-17 16:59:48 UTC
I'd certainly be ok if someone wanted to do it as an SoC project, but I doubt it'd get finished... just seems a bit hard to do for an SoC project.
Comment 25 Matthew Barnes 2008-09-14 15:51:46 UTC
*** Bug 392333 has been marked as a duplicate of this bug. ***
Comment 26 Matthew Barnes 2008-09-14 15:52:06 UTC
*** Bug 434571 has been marked as a duplicate of this bug. ***
Comment 27 Matthew Barnes 2008-09-14 15:52:20 UTC
*** Bug 552224 has been marked as a duplicate of this bug. ***
Comment 28 André Klapper 2009-05-27 21:22:44 UTC
Also see http://www.mail-archive.com/evolution-list@gnome.org/msg10773.html and so...

Volunteers willing to port welcome.
Comment 29 Greg Schneider 2009-09-06 02:44:26 UTC
So what is the status of the port? This is pretty basic functionality that quite frankly should have been implemented long ago.
Comment 30 robi 2009-10-05 09:34:00 UTC
After so many years IDLE extension is still not implemented??? Can't get off Thunderbird without this one, since I work in tech support and sometimes even 1 minute for automatic mail checking of 4 accounts, is to long.
Comment 31 BK Box 2009-10-14 20:29:14 UTC
http://en.wikipedia.org/wiki/Push-IMAP

Sure would be nice to see Evolution in that list.
Comment 32 Robert Grønning 2009-10-20 01:48:40 UTC
IMAP IDLE has existed for over 11 years ... That's really embarassing for the Evolution client.
Comment 33 Bojan Smojver 2009-11-18 02:08:05 UTC
Any chance we see this in 2.30?
Comment 34 rom 2009-12-13 18:28:19 UTC
Ah, I spent many hours to find out why I can't use imap-push, while everything was correctly configured, I was sure evolution managed it.
I hope it will be implemented in next version.
Comment 35 Ruchir Brahmbhatt 2009-12-15 11:48:38 UTC
I vote for this.
Comment 36 Matthew Barnes 2009-12-24 20:03:25 UTC
*** Bug 605376 has been marked as a duplicate of this bug. ***
Comment 37 Ruchir Brahmbhatt 2009-12-25 05:20:02 UTC
Can we expect this in 2.30?
Comment 38 Frédéric Brin 2009-12-29 03:11:57 UTC
+1 . This is must-have feature ! Very expected features from a profesional point of view. Get the message when it arrives ... and not 10 minutes later.

I just tested it in thunderbird + cyrus-imap, and this is just too great. I also really enjoy the little popup for mail notification, by the way.
Furthermore you have the same behaviour on Outlook.
Comment 39 Bernd Schlapsi 2009-12-31 09:36:14 UTC
Any progress on this bug?
Would like to see this feature in evolution
Comment 40 Praveen Thirukonda 2010-01-02 17:23:09 UTC
(In reply to comment #35)
> I vote for this.

+1
Comment 41 Tobias Mueller 2010-01-02 17:38:50 UTC
Folks, it is not necessary to "vote" for this to be implemented (as this bug is already set to NEW). If you want to make development of this happen, consider spending some time, money or both to actually help the project. Writing "+1" just wastes everybody's time. Admittedly, we do not have a good "code for money" program, but http://www.gnome.org/friends/ exists and I'd like you to visit that page before you ask whether this feature will be implemented.
Also, please consider using the mailing lists to discuss issues not directly related with the status of this bug.
Thanks
Comment 42 Praveen Thirukonda 2010-01-02 17:41:46 UTC
unfortunately GNOME bugzilla does not have a voting mechanism or affects me too like launchpad has.

so for developers to know which bug people are really wanting to be fixed there is no way except writing +1.

you should file a bug request for this feature if this annoys you much.

and i do agree having such a option would indeed be better.
Comment 43 René 2010-09-07 23:16:49 UTC
Seriously, this is open since 8 years. Is anyone at least claiming to work on it?
Comment 44 René 2010-09-07 23:17:48 UTC
Besides, couldn't you just copy the code from another open source client like Thunderbird?
Comment 45 Bojan Smojver 2010-09-07 23:19:21 UTC
(In reply to comment #43)
> Seriously, this is open since 8 years. Is anyone at least claiming to work on
> it?

Try imapx in Evo. It has IDLE support. This bug should be closed, actually.
Comment 46 René 2010-09-07 23:25:19 UTC
Oh, thanks for this fine info. Searching for it didn't show me imapx...

So hopefully this helps further searchers to find imapx if they ever search for a ubuntu gnome evolution imap idle support plugin, addon or upgrade. :p


As far as I see it, to use imapx you have to install evolution 2.30?
Comment 47 Bojan Smojver 2010-09-07 23:27:46 UTC
(In reply to comment #46)
 
> As far as I see it, to use imapx you have to install evolution 2.30?

Check:

http://chenthill.wordpress.com/2010/01/11/evolution-with-improved-imap-support-imapx/
Comment 48 Matthew Barnes 2010-09-07 23:57:43 UTC
IMAP+ backend supports IDLE, closing as obsolete.
Comment 49 Jeremy Visser 2010-09-08 00:22:03 UTC
Not too sure having separate IMAP and IMAP+ backends is a good idea, but that's for another bug. I hope IMAP+ eventually replaces the IMAP backend.