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 685034 - Read status of email is not persisted correctly
Read status of email is not persisted correctly
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: Mailer
3.4.x (obsolete)
Other Linux
: Normal normal
: ---
Assigned To: evolution-mail-maintainers
Evolution QA team
evolution[imapx]
: 687058 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2012-09-28 10:52 UTC by Simon Lindgren
Modified: 2012-10-30 17:50 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
eds patch (482 bytes, patch)
2012-10-30 17:47 UTC, Milan Crha
committed Details | Review

Description Simon Lindgren 2012-09-28 10:52:43 UTC
Evolution 3.4.4 running on Fedora 17.
The account is a gmail account configured via GOA. Evolution's settings list the account as "imapx".

Evolution fails to persist the read status of my email. For example:

I open evolution, and read an unread mail. The mail is marked as read after a timeout as expected. I then restart evolution. When Evolution loads the folder again, the mail is initially marked as read, but after a small delay (maybe ½ second?) the status is changed back to unread.

I tried running evo from a terminal, but nothing is written there.

Another observation:
If I go into the settings and change the "synchronize email locally" setting for the account after I mark the mail as read, the status seems to be persisted correctly.
Comment 1 Milan Crha 2012-10-26 12:40:43 UTC
I can confirm this. It seems that the cancel on close cancels IMAPx's attempt to store the message flags, or something like that.
Comment 2 Matthew Barnes 2012-10-28 19:11:24 UTC
*** Bug 687058 has been marked as a duplicate of this bug. ***
Comment 3 Michael Catanzaro 2012-10-28 20:22:42 UTC
"Automatically synchronize remote mail locally" does not help for me. =/
Comment 4 Simon Lindgren 2012-10-28 21:44:13 UTC
Oh, that "workaround" was worded confusingly... When the setting is changed, statuses seems to be flushed to the mail server *once*, after reading another mail the procedure needs to be repeated :)

But I think Milan is on to something, because switching folder before closing evo seems to make the flags persist fine.
Comment 5 Michael Catanzaro 2012-10-28 21:57:46 UTC
Oh dear, a much easier workaround than checking "automatically synchronize remote mail locally" every time: just press F9 (Send/Receive) before closing Evolution.  (If switching folders works, that's cool too.)
Comment 6 Milan Crha 2012-10-29 11:15:42 UTC
I guess the change of option "synchronize remote mail locally" only calls the same flush as F9 or folder change or few other operations. It's only more complicated than doing the other ways.
Comment 7 Milan Crha 2012-10-30 17:47:31 UTC
Created attachment 227666 [details] [review]
eds patch

for evolution-data-server;

OK, I was initially unable to reproduce this with my Yahoo! account, but then I tried with Google and it was exhibiting it. The difference is that Google supports IDLE (Listen for server changes notification in Properties), while Yahoo! does not. The IDLE stop response prevented from processing of the rest of pending requests, thus the recent changes in a folder were not properly saved.

This change fixes the behaviour.

You can workaround it by disabling IDLE in Properties of the account (requires restart of evolution in 3.4.x-).
Comment 8 Milan Crha 2012-10-30 17:50:58 UTC
Created commit db33525 in eds master (3.7.2+)
Created commit 8976a4c in eds gnome-3-6 (3.6.2+)