GNOME Bugzilla – Bug 649939
Cann't create new folder
Last modified: 2013-09-13 01:05:14 UTC
evolution 3.1.2 New folder -> enter folder name -> click on 'create', nothing happens. I have tried to create in exchnage back end as well as in 'On this compupter'. Though in 'On this compupter', i cann't create sub folder but i can create foler under main hierarchy.
Created attachment 187621 [details] [review] evo patch for evolution; Only two forgotten places after Matt's rewrite on folder uris.
Created commit 80d27e8 in evo master (3.1.2+)
Thanks for catching that!
Created attachment 187640 [details] [review] evo patch ][ for evolution; Hrm, bad catch :( It worked for local store, but not for any remote store. The problem is that '@' in folder name. Mine evo-exchange folder has this uri: > folder://1294755972.2520.1%40machine/personal/Inbox the host part is automatically decoded to > 1294755972.2520.1@machine when parsing this through camel_url_new(), but is not encoded when making it back into a string. Most places doesn't suffer of such issue, but here, when this is parsed through em_folder_selector_get_selected_uri(), the function doesn't encode the host name part and thus the next string is with the '@' decoded: > folder://1294755972.2520.1@machine/personal/Inbox so the e_mail_folder_uri_parse() makes CamelURL from the string in a way that everything in from of '@' is a user name, and only the part after it is a host name, thus searching for the service fails. This patch is fixing e_mail_folder_uri_parse() to also include user part if it exists, but if there will be more issues with other encoded letters, then it'll probably not help enough.
Created commit f9a3112 in evo master (3.1.2+)
I am not able to create new folder again under 'On this computer'. I see below warning when i try to create folder named 'BackUp'. (evolution:3677): evolution-mail-WARNING **: Invalid folder URI 'maildir:/home/lakhil/.local/share/evolution/mail/local/BackUp'
Interesting, the URI: > maildir:/home/lakhil/.local/share/evolution/mail/local equals to the 'On This Computer' node, and the new parsing functions cannot handle that (they tries to avoid such situation, actually). I do not know how to fix this any better than with the below commit. Created commit 95ec573 in evo master (3.1.2+)