Open Bug 511331 Opened 15 years ago Updated 2 years ago

If "IMAP server directory: [Gmail]" is specified, Junk folder selection UI generates spamActionTargetFolder=<protocol>://...@.../Spam for [Gmail]/Spam folder(Mismatch between implementation of "IMAP server directory:" and special folder path selection UI)

Categories

(MailNews Core :: Account Manager, defect)

x86
Windows XP
defect

Tracking

(Not tracked)

People

(Reporter: World, Unassigned)

References

(Blocks 2 open bugs)

Details

Attachments

(1 file)

Attached file IMAP log
[Build Id]
> Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.3pre) Gecko/20090818 Shredder/3.0b4pre

This is similar issue to Bug 491424(Trash selection UI and namespace usage).

If "IMAP server folder: [Gmail]" is specified for Gmail IMAP, spamActionTargetFolder = Spam is generated instead of spamActionTargetFolder = [Gmail]/Spam, when Spam(real folder path name == [Gmail]/Spam) is selected at folder selection UI of Other: in Junk Settings.

> user_pref("mail.server.server2.is_gmail", true);
> user_pref("mail.server.server2.namespace.personal", "\"\"");
> user_pref("mail.server.server2.server_sub_directory", "[Gmail]");
> user_pref("mail.server.server2.spamActionTargetAccount", "imap://yatter.one%40gmail.com@imap.gmail.com");
> user_pref("mail.server.server2.spamActionTargetFolder", "imap://yatter.one%40gmail.com@imap.gmail.com/Spam");

When "IMAP server folder: [Gmail]" is specified, [Gmail]/Spam is displayed as if root-level Spam at (a) folder pane, (b) folder slection UI, (c) Location: of folder properties. Folder selection UI looks confused by it.

(Phenomenon after this bug)

Once entry of spamActionTargetFolder = imap://<userName>@<hostname>/Spam was generated, Tb trunk created root-level "Junk" folder upon first access to IMAP server(creation request of of root-level Spam is not seen in log). Tb looks to assume "spamActionTargetFolder exists", and if spamActionTargetFolder doesn't exist, Tb looks to fall back to root-level "Junk" folder.
This was true even after "IMAP server folder:" was reset to null again.

>(IMAP log upon first access ti Gmail IMAP after restart of Tb)
> 00000003 0.00331774 (snip):ProcessCurrentURL:imap://yatter%2Eone%40gmail%2Ecom@imap.gmail.com:993/ensureExists%3E/Junk:  = currentUrl	
> 00000076 3.73834324 (snip):SendData: 7 xlist "" "Junk" 	
> 00000078 4.17479801 (snip):CreateNewLineFromSocket: 7 OK Success 	
> 00000079 4.17518282 (snip):SendData: 8 create "Junk" 	
> 00000081 4.79366446 (snip):CreateNewLineFromSocket: 8 OK Success 	
> 00000082 4.79393816 (snip):SendData: 9 subscribe "Junk" 	
> 00000084 5.41416502 (snip):CreateNewLineFromSocket: 9 OK Success 	
> 00000085 5.41440153 (snip):SendData: 10 xlist "" "Junk" 	
> 00000087 5.85264921 (snip):CreateNewLineFromSocket: * XLIST (\HasNoChildren) "/" "Junk"
> 00000089 5.86683512 (snip):CreateNewLineFromSocket: 10 OK Success 	

After creation of the root-level Junk, Tb changed icon of Junk to "wastepaper icon"(then unable to delete here after) upon first IMAP folder open after restart.
Although root-level Junk was created, Tb used [Gmail]/Spam as junk folder, as designed.

I think Bug 508838 is above phenomenon, although bug opener of that bug says "hiding of [Gmail]/Spam by Gmail's advanced feature" is trigger/cause of his problem.
Summary: If "IMAP server folder: [Gmail]" is specified, Junk folder selection UI generates mail.server.server2.spamActionTargetFolder=imap://<userName>@<hostname>/Spam for [Gmail]/Spam folder → If "IMAP server folder: [Gmail]" is specified, Junk folder selection UI generates mail.server.serverN.spamActionTargetFolder=imap://<userName>@<hostname>/Spam for [Gmail]/Spam folder
FYI.
If "IMAP server folder:" is specified, next entry is generated.
> mail.server.server2.is_NOT_gmail = true
This entry is not reset unless manually clear, even after "IMAP server folder:" is cleared again.
Blocks: 160644
"Creation of root-level Junk" was a variation of phenomena of Bug 511331. If "IMAP server directory:" is set(this bug's case), phenomenon becomes "creation of root-level Junk" instead of "creation of folder of account label".

Correction of Comment #1.
mail.server.server2.is_NOT_gmail was set by me, by a line in user.js which I used to set mail.server.server2.is_gmail = true or false, according to test case without Config Editor use. Ignore comment #1, please.
Original for phenomenon of "Creation of root-level Junk" is Bug 511331. In Bug 511331's case, IMAP folder of account label name is created.
Same problem occurs on Copies&Folders. If "IMAP server directory: [Gmail]", imap://.../Drafts is set in mail.identity.idX.draft_folder instead of imap://.../[Gmail]/Drafts.
> mail.identity.idX.archive_folder     (Archives)
> mail.identity.idX.draft_folder       (Drafts)
> mail.identity.idX.fcc_folder         (Sent) 
> mail.identity.idX.stationery_folder  (Templates)
Cause is mismatch among:
(A) folder display at;  
      folder pane display, folder list in folder selection,
      Location: in folder properties, subscription list
    Removes string of "IMAP server directory:".
(B) Folder selection UI at;
      Others: of Copies&Folders, Others: of Junk Setting,
    Saves folder name passed by (A) as absolute path format.
(C) IMAP folder access;
    Access with { IMAP server directory: string + folder name of (A) }
(D) Special folder access;
    Although path specified in spamActionTargetFolder, archive_folder,
    draft_folder, fcc_folder, stationery_folder is absolute path format,
    extraction of folder name is executed, and (C) is executed.
(E) Although ordinal access of special folder is executed by (B) & (D),
    EnsureExists of Junk treats spamActionTargetFolder as absolute path.
(F) Upon extraction at (D), first "/" is not removed.
       imap://.../Sent => /Sent
    
Because of (B) and (D), problem occurs in next cases.
(i)  spamActionTargetFolder, xxx_folder is defined without "IMAP server
     directory:" setting.
     "IMAP server directory:" is set after special folder path definition.
(ii) spamActionTargetFolder, xxx_folder is defined with "IMAP server directory:". 
     "IMAP server directory:" is removed after special folder path definition.
Because of (E), next problem happens, if spamActionTargetFolder is defined while "IMAP server directory:" is set.
(iii) Creation of IMAP folder of account label. (Bug 503735 Comment #13)
(iv)  Creation of root-level Junk               (Comment #0)
Because of (F), problem of Bug 497806 occurs, if delimiter is ".".
(v)   Folder name becomes { IMAP server directory:  + /Sent }.
        IMAP server directory: INBOX. => INBOX./Sent
        IMAP server directory: INBOX  => INBOX/Sent

I think "IMAP server directory:" string should be ignored, if it's different from namespace setting or responce to NAMESPACE command.
(i.e. Purpose of "IMAP server directory:" should be limited to hiding of top most folder name when namespace is used.)
(Note-1)
Because "folder selection list" used by message filter, "IMAP server directory:" setting can cause inconsistency/imcompatibility of folder path setting in message filter rule.
(Note-2)
Offline use setting panel for auto-sync doesn't use "folder selection list" type display. Offline use setting panel displays full structure, even if "IMAP server directory:" is set.  
  Synchronization&Storage/Message Synchronizing
     [ X ] Keep message for this account on this computer
                                 [ Advanced ]
Above (Note-2) was wrong. Sorry for spam.
Offline use setting panel for auto-sync was also affected by "IMAP server directory:" setting.
Summary: If "IMAP server folder: [Gmail]" is specified, Junk folder selection UI generates mail.server.serverN.spamActionTargetFolder=imap://<userName>@<hostname>/Spam for [Gmail]/Spam folder → If "IMAP server folder: [Gmail]" is specified, Junk folder selection UI generates spamActionTargetFolder=<protocol>://...@.../Spam for [Gmail]/Spam folder (Mismatch between implementation of "IMAP server directory:" and special folder path selection UI)
Current mail.server.serverN.spamActionTargetFolder works with no problem, if IMAP server directory: is not specified by user. Even when IMAP server directory: is set, mail.server.serverN.spamActionTargetFolder works with no problem, if spamActionTargetFolder is set via Others: after setting change of IMAP server directory:. 
User has to do next when user sets/resets/changes IMAP server directory:.
  If user already has folder path setting via Others: of Copies&Folders and Junk
  settings, user has to set folder path setting via Others: of Copies&Folders
  and Junk settings again, after setting change of IMAP server directory:.
Or else, problem like Bug 503735 occurs, because "junk folder is not found" condition happens.
I think it's applicable to folder path setting in Message Filter rules.
I think this is related, but in the Activity Manager I keep getting:

"The current command did not succeed.  The mail server responded:Duplicate folder name [Gmail]/Junk (Failure)."

I have my "IMAP server directory" set to "[Gmail]", but I'm not specifying "Junk" anywhere... I use "Trash"?  I don't even see a Junk folder in any of the IMAP folder subscription lists.
(In reply to comment #9)
> I think this is related, but in the Activity Manager I keep getting:
> "The current command did not succeed.  The mail server responded:Duplicate
> folder name [Gmail]/Junk (Failure)."
> I have my "IMAP server directory" set to "[Gmail]", but I'm not specifying
> "Junk" anywhere...
> I use "Trash"?  I don't even see a Junk folder in any of the IMAP folder subscription lists.

Chris Tashjian, can you open separate bug for your problem, with attaching IMAP log?
> https://wiki.mozilla.org/MailNews:Logging
Summary: If "IMAP server folder: [Gmail]" is specified, Junk folder selection UI generates spamActionTargetFolder=<protocol>://...@.../Spam for [Gmail]/Spam folder (Mismatch between implementation of "IMAP server directory:" and special folder path selection UI) → Junk folder selection UI generates spamActionTargetFolder=<protocol>://...@.../Spam for [Gmail]/Spam folder(Mismatch between implementation of "IMAP server directory:" and special folder path selection UI) If "IMAP server directory: [Gmail]" is specified
Severity: minor → S4
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: