Closed Bug 970809 Opened 9 years ago Closed 5 years ago

Filter doesn't work for messages opened before


(Thunderbird :: Filters, defect)

24 Branch
Windows 7
Not set


(Not tracked)



(Reporter: egon.loyda, Unassigned)


User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0 (Beta/Release)
Build ID: 20131205075310

Steps to reproduce:

Filter ALL messages to local.  

Actual results:

Messages opened on my smartphone before are not filtered

Expected results:

All messages - even those not marked as NEW - should be considered.
State of the art would be an additional parameter in the filter which decides upon.
Is this on IMAP server?
Yes it's on an IMAP server.
Is this the same as bug 566873 ?
Not really. Maybe the same cause.
The simple thing is - any message is not filtered automatically if opened before- 
but the filter works if started it manually - "Filter auf Ordner anwenden"
This is current design/implementation.
  "New Mail" for a Tb instance in IMAP is;
         (i) Mail of larger than Highest UID which the Tb instance already knows.
    and (ii) Mail of no \Seen flag.
  "Message filter for newly arrived mail" is applied to the "New Mail" for a Tb instance.
"A reason why (ii) is used" is historical reason(for example, \Recent flag is not usable as decision on new mail or not new mail).
Other reason why (ii) is used :
  This is convenient for many users and many users want such behaviour.
- HighestUID=A. New mail of UID=B, C, D arrives at Inbox of IMAP server. (no \Seen flag)
- HighestUID=A for Tb-1 on PC-1. Tb-1 detects UID=B, C, D, and fetches them,
  and mark as "New Mail"(new icon is shown for mail at thread pane).
  Worker-1 who uses Tb-1 reads mail of UID=D, process it. \Seen is stored for UID=D.
- Mail of HighestUID=A for Tb-2 on PC-2. Tb-2 detects UID=B, C, D, and fetches them.
  In this case, for Worker-2 who uses Tb-2 on PC-2, "new mail"(== not-processed-yet
  request from customer) is mail of UID=B & C.
  So, "no new mail alert for UID=D" is better for Worker-2 on PC-2.
- Worker-1 === Worker-2 === A people.
  PC-1 == PC at his working room. PC-2 == PC at meeting room.
- In this case, user's request is usually "no new mail alert on UID=D at Tb-2 on PC-2",
  if UID=D is already read by the user using Tb-1 on PC-1.

Your case is same as (Case-2), and your request is opposit to (case-2) :
- Even when a new mail is already read by you using other mail client than Tb,
  (1) new mail alert should be shown by Tb, and (2) message filter should be applied.

Two kinds of problem should be resolved.
- "What is new mail for a Tb instance" should be customizable.
  For some  users, "New Mail"==UID larger than already known HighestUID with no \Seen flag.
  For other users, "New Mail"==UID larger than HighestUID, regardless of \Seen flag.
- "New Mail for New Mail alert", "New Mail for new icon of mail folder", 
  "New Mail for new icon of a mail at thread pane", and "New Mail for message filter
  upon new mail download" should be clearly isolated.
Ever confirmed: true
I understand the meaning of the design but this implicitly means you only use Tb to get new messages.
My point of view is certainly not so deep technical but from a users point of view. 

Add a selection criteria when you create a filter - "Filter anwenden bei." similar to "Manuellem Ausführen"  -> "Bereits geöffnete".

Should be technically possible because if the filter is applied manually it works for all messages.

Sorry that I can't describe the problem more technical.
This was fixed in version 52 with bug 1320832
Closed: 5 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 1320832
You need to log in before you can comment on or make changes to this bug.