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 665371 - Decommission legacy IMAP backend
Decommission legacy IMAP backend
Status: RESOLVED FIXED
Product: evolution-data-server
Classification: Platform
Component: Mailer
3.6.x (obsolete)
Other All
: Normal normal
: ---
Assigned To: evolution-mail-maintainers
Evolution QA team
evolution[imapx]
: 670277 677721 (view as bug list)
Depends on:
Blocks: 691465 691466
 
 
Reported: 2011-12-02 08:56 UTC by Baptiste Mille-Mathias
Modified: 2013-01-10 10:36 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Baptiste Mille-Mathias 2011-12-02 08:56:28 UTC
Hi;

Imapx was introducted few year sago in evolution but this is very unclear why one should choose imap over imapX or the other way-around. (I don't have an idea myself what is imapx).

Some disambification should be done, for instance, in the wizard Imap and imapX should be merged in one type in the wizard, and a checkbox could add under imap selection to use imapx. The wizard process sould also explain better what is imapx.

That would be more consistent, and not make imapx another protocol but rather an extension of imap (I guess the x from imapx stands for extension).
Comment 1 Akhil Laddha 2011-12-02 09:12:14 UTC
http://chenthill.wordpress.com/2010/01/11/evolution-with-improved-imap-support-imapx/ might be a starting point for the list of advantages imap+ (imapx) brings over imap.
Comment 2 Baptiste Mille-Mathias 2011-12-02 09:22:08 UTC
Thanks for the link, but my point is also to improve the user experience among evolution, and I think the user account creation can be improved in this area for imap/imapx.
Comment 3 Milan Crha 2012-03-16 13:34:52 UTC
I recall Andre asking basically the same, to include it at least in user docs. Andre, is the description available, or we didn't make a conclusion for it yet? (I'm sorry, I do not recall many details.)
Comment 4 André Klapper 2012-03-16 13:38:47 UTC
Milan: What description? As long as nobody explains which option a user should choose for which reasons, there's nothing I could write. ;-)
Comment 5 André Klapper 2012-03-16 13:39:15 UTC
*** Bug 670277 has been marked as a duplicate of this bug. ***
Comment 6 Milan Crha 2012-03-16 15:06:23 UTC
Yup, I just vaguely recalled we had a similar chat and I thought there was an outcome from it. If there wasn't any, then no problem, blame my poor memory.
Comment 7 André Klapper 2012-06-09 02:04:02 UTC
see bug 677721 comment 1 for what's left to do.
Comment 8 André Klapper 2012-06-09 02:05:50 UTC
Matthew Barnes [Evolution developer] 2012-06-09 02:02:51 UTC

For the record, the IMAP features lacking in IMAP+ are:

 - Quota support.

 - The ability to use non-virtual Junk and Trash folders (mainly for
   using Evolution in combination with web mail).

 - Something about picking custom envelope headers to download, mainly
   useful for filtering.

Those are all the ones I'm aware of, anyway.  None of these are real critical
in my book but they do have a devoted following.  Especially the second one.
Comment 9 André Klapper 2012-06-09 02:06:40 UTC
*** Bug 677721 has been marked as a duplicate of this bug. ***
Comment 10 Milan Crha 2012-06-26 10:53:14 UTC
Feel free to add to the list:

 - body_Search in IMAP is done server-side (if supported by the server),
   while IMAPx downloads whole message folder for searching.

There might be a bug report filled already for it, I guess.
Comment 12 Matthew Barnes 2012-12-18 20:00:29 UTC
Support for non-virtual Junk and Trash folders: done.

http://git.gnome.org/browse/evolution-data-server/commit/?id=1fd3da8927177ed0517abeaf3c7a29611d64546f
Comment 13 Matthew Barnes 2012-12-18 20:05:13 UTC
I've decided to let the "picking custom fetch headers" feature die with the old IMAP backend after a brief discussion on the mailing list.

https://mail.gnome.org/archives/evolution-hackers/2012-December/msg00019.html

So 3 down / 1 to go feature-wise + automatic account migration.
Comment 14 Matthew Barnes 2012-12-24 02:24:46 UTC
Support for server-side "body" search: done.

http://git.gnome.org/browse/evolution-data-server/commit/?id=0eb3de7b71e36041a4e208433385d34c37bd7c07

We now have feature parity.  Just have to write migration code.
Comment 15 Matthew Barnes 2012-12-24 14:17:09 UTC
Automatic account migration:

http://git.gnome.org/browse/evolution-data-server/commit/?id=cda199f86d740c4db6e9dd532ebfe0da867e8f65

And the coup de grâce:

http://git.gnome.org/browse/evolution-data-server/commit/?id=937d6d37240dc81a6cc9d52d6af0521bf462e84c

Long overdue, but finally FIXED for Evolution-Data-Server 3.7.4.
Comment 16 Milan Crha 2013-01-07 18:42:07 UTC
Migration seems to not work properly, I see these on console:
> (evolution:1402): camel-WARNING **: Could not find a corresponding
> CamelIMAPXFolder property for state file tag 0x2500
Comment 17 Matthew Barnes 2013-01-08 15:43:51 UTC
(In reply to comment #16)
> Migration seems to not work properly, I see these on console:
> > (evolution:1402): camel-WARNING **: Could not find a corresponding
> > CamelIMAPXFolder property for state file tag 0x2500

Fixed in:
http://git.gnome.org/browse/evolution-data-server/commit/?id=47825442a2e70e3e4e79414742f8f2194d16d533
Comment 18 Milan Crha 2013-01-08 21:26:51 UTC
The same property ID is used on various objects, thus the change might not be completely right. Maybe the warning itself is useless as such.

Another warning, I see this 3 times when I run evolution:

> (evolution:24395): camel-WARNING **: Cannot load summary file: Success

with the below backtrace:

  • #0 g_logv
    at gmessages.c line 853
  • #1 g_log
    at gmessages.c line 1003
  • #2 camel_store_summary_load
    at camel-store-summary.c line 590
  • #3 imapx_store_initable_init
    at camel-imapx-store.c line 1723
  • #4 g_initable_new_valist
    at ginitable.c line 228
  • #5 g_initable_new
    at ginitable.c line 148
  • #6 session_add_service
    at camel-session.c line 420
  • #7 mail_session_add_service
    at e-mail-session.c line 1243
  • #8 mail_ui_session_add_service
    at e-mail-ui-session.c line 586
  • #9 camel_session_add_service
    at camel-session.c line 970
  • #10 mail_session_add_from_source
    at e-mail-session.c line 549
  • #11 mail_session_constructed
    at e-mail-session.c line 1092
  • #12 mail_ui_session_constructed
    at e-mail-ui-session.c line 573
  • #13 g_object_newv
    at gobject.c line 1746
  • #14 g_object_new_valist
    at gobject.c line 1835
  • #15 g_object_new
    at gobject.c line 1550
  • #16 e_mail_ui_session_new
    at e-mail-ui-session.c line 765
  • #17 mail_backend_constructed
    at e-mail-backend.c line 1058
  • #18 mail_shell_backend_constructed
    at e-mail-shell-backend.c line 527
  • #19 g_object_newv
    at gobject.c line 1746
  • #20 g_object_new_valist
    at gobject.c line 1835
  • #21 g_object_new
    at gobject.c line 1550
  • #22 extensible_load_extension
    at e-extensible.c line 97
  • #23 e_type_traverse
    at e-module.c line 362
  • #24 e_type_traverse
    at e-module.c line 356
  • #25 e_type_traverse
    at e-module.c line 356
  • #26 e_extensible_load_extensions
    at e-extensible.c line 141
  • #27 e_extensible_list_extensions
    at e-extensible.c line 173
  • #28 e_shell_load_modules
    at e-shell.c line 1269
  • #29 main
    at main.c line 671

Comment 19 Matthew Barnes 2013-01-08 22:21:31 UTC
(In reply to comment #18)
> The same property ID is used on various objects, thus the change might not be
> completely right.

Where?  I don't see the 0x2500 property value used anywhere else.
IIRC those values had to be unique under the old CamelArg system.


> Another warning, I see this 3 times when I run evolution:
> 
> > (evolution:24395): camel-WARNING **: Cannot load summary file: Success

That looks to be camel_store_summary_load() mishandling possibly an empty file.  The IMAP -> IMAPX migration code moves the account's entire cache directory to trash, which would include ~/.cache/evolution/mail/$UID/.ev-store-summary, so I don't see how this could be a migration issue.
Comment 20 Milan Crha 2013-01-09 09:03:08 UTC
(In reply to comment #19)
> Where?  I don't see the 0x2500 property value used anywhere else.
> IIRC those values had to be unique under the old CamelArg system.

My poor memory, I'm sorry. The uniqueness is required for each object, not between objects. The reused value is 0x2400, not the 0x2500.

> > > (evolution:24395): camel-WARNING **: Cannot load summary file: Success
> 
> That looks to be camel_store_summary_load() mishandling possibly an empty file.
>  The IMAP -> IMAPX migration code moves the account's entire cache directory to
> trash, which would include ~/.cache/evolution/mail/$UID/.ev-store-summary, so I
> don't see how this could be a migration issue.

If nothing else then it's new after migration or some recent changes. I do not recall seeing this before the migration, and I had enabled one IMAPx account, thus my first bet leads here.
Comment 21 Milan Crha 2013-01-10 09:52:50 UTC
(In reply to comment #14)
> We now have feature parity.  Just have to write migration code.

Should I reopen this? IMAP folders had a property for automatic update, thus one could set either "update all folders", or pick folders individually for update. I use that, and it was a good feature, used by other people as well (you definitely do not want to update your Archive folder each account refresh, but still want to refresh other that Inbox folders).
Comment 22 Milan Crha 2013-01-10 10:03:33 UTC
(In reply to comment #20)
> > > > (evolution:24395): camel-WARNING **: Cannot load summary file: Success
> > 
> > That looks to be camel_store_summary_load() mishandling possibly an empty file.
> >  The IMAP -> IMAPX migration code moves the account's entire cache directory to
> > trash, which would include ~/.cache/evolution/mail/$UID/.ev-store-summary, so I
> > don't see how this could be a migration issue.
> 
> If nothing else then it's new after migration or some recent changes. I do not
> recall seeing this before the migration, and I had enabled one IMAPx account,
> thus my first bet leads here.

I think I know what causes this, and the other issue, semi-constant redownload of my IMAP folders (and bet they are large), you move the old cache to trash, but then your cache-reaper will return it back, because the UID didn't change. No prove for it yet, just an idea what can be wrong.
Comment 23 Milan Crha 2013-01-10 10:36:27 UTC
I opened new bug reports and added them to dependencies.