Heh, I pressed Enter too eagerly! So, here goes the problem. I have created a filter like this: Apply Filter when: Checking Mail or Manually Run * Match all of the following X-Bugzilla-Type contains changed X-Bugzilla-Who contains email@example.com Perform these actions Mark As Read I originally created this filter for my Gmail account, and then tried adding the exact same filter to Local Folders as well. The problem is that the filter does not seem to work (as in, it doesn't mark the matching messages as read) when new mail arrives. If I go to my Mozilla Bugzilla folder and choose Tools > Run Filters on Folder, then it works correctly and marks all of my messages as read. This is reproducible 100% of the time. I'd like to help debug it if someone tells me how!
I forgot to add that I have enabled the filter log. The filter log is empty as new messages arrive, but when I run the filter manually, it's filled with lines indicating that the filter is being applied.
Local Folders filters only run when you're using the global inbox with pop3 - Ehsan, I thought you were using IMAP.
(In reply to comment #3) > Local Folders filters only run when you're using the global inbox with pop3 - > Ehsan, I thought you were using IMAP. I am. I just added a Local Folders filter because I didn't really understand what Local Folders are! :-) But that shouldn't matter since I do have another identical filter in Gmail (which is my IMAP account), right?
the gmail account filter only works on your inbox - do you have server-side gmail filters (e.g., to move messages into the bugzilla folder?)
(In reply to comment #5) > the gmail account filter only works on your inbox - do you have server-side > gmail filters (e.g., to move messages into the bugzilla folder?) Yes, I do. Is that why the filters are not applied? Is there any way to make filters act on all IMAP folders?
"Is there any way to make filters act on all IMAP folders?" Yes there is a way, but this is a hidden feature for people who know what they are doing, because you can easily get into filter loops, particularly if you are doing message moves. If you set the preference "mail.server.default.applyIncomingFilters" to the string value "true" then all IMAP folders should be filtered, not just the inbox. You can also control this with more granularity using the user interface in the FiltaQuilla extension.
Setting that pref did solve the problem for me, but I still find this behavior very confusing. If the only concern here is protecting users against filter loops, we can just run a cycle detection algorithm on the filter rules and do not allow creation of filters which would result in cycles. Or am I missing something?
"If the only concern here is protecting users against filter loops ..." (For the record, I'm the guy who added that preference, and also support it somewhat in the FiltaQuilla extension). I think the issue is more that the core code does not directly support filters on IMAP folders other than the inbox, but we added a preference in case people want to try to support it in extensions, or use it and know what they are doing. It was easier to just add the preference disabled, then to really think through and test what it would take for this to be always enabled for the average user. For example, I was not really aware that filter loops would be an issue until I started trying to use it. "we can just ..." is probably true, but someone would have to be motivated to take this on.
A reasonable compromise might be to run filters on folders that are specified to be checked for new messages, since those are likely to have been placed there by server-side filters.