Closed Bug 14544 Opened 25 years ago Closed 25 years ago

[Regression] Message move filters are broken under POP3

Categories

(MailNews Core :: Backend, defect, P3)

x86
All
defect

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: pmock, Assigned: Bienvenu)

Details

Build Date & Platform Bug Found: Mac seamonkey build 1999-09-21-15-m11 installed on G3/400 MacOS 8.5.1 Win32 seamonkey build 1999-09-21-13-m11 installed on P166 Win98 Linux seamonkey build 1999-09-21-08-m11 installed on P200 RedHat 6.0 Overview Description: Mail filtering is broken under POP on all platforms. When I tried to filter, the message does not get moved to the designated folder. Steps to Reproduce: 0) Under Communicator, create a Pop3 profile and a mail filter. My filter was filtering on the subject for a particular word and move it to a specific folder. 1) Removed my previous profile and mozregistry.dat file 2) Run apprunner -installer 3) Select your pop3 profile to migrate Apprunner will launch Your rules.dat should be moved to your pop server folder. ie. User50\mozprofile\mail\nsmail-2 4) Open Messenger 5) Start a new message 6) Address the message to your mail test account 7) Enter in the critera that will tigger the filter I was filtering on the subject on a particular word 8) Send the message 9) Get Msg. 10) 15) Enter your password The message is received in the Inbox instead of being filter to my designated folder. Actual Results: The message is filtered to the inbox instead of the folder I wanted. Expected Results: It should have been filtered to my designated IMAP folder. Additional Builds and Platforms Tested On: This problem does not occur under IMAP on win32 or linux IMAP. I tested Win32 seamonkey 1999-09-21-13-m11 and Linux seamonkey 1999-09-21-08-m11 build. This problem does occur under IMAP on Mac. I tested build Mac seamonkey build Mac seamonkey build 1999-09-21-15-m11 Additional Information: I logged Mac parity bug 14541 for filtering not working under IMAP
Oops...copy and paste mistake... :( The expected results should say, "It should have been filtered to my designated POP folder."
Status: NEW → ASSIGNED
Target Milestone: M12
well, I'll try it, but POP filters were working for Scott this afternoon.
when you say subject on a particular word, do you mean "subject contains" or subject is for the particular word? could you paste the contents of your filter file in here?
related note: I just fixed #14538 now, when you run -installer, your pop filter file would get automatically copied to <profile>\Mail\<pop hostname>\rules.dat (it gets renamed to rules.dat, no matter what it was called in 4.x)
Sorry David for not being clear. I for filtering on subject containing ... Here is the contents of my rules.dat file: version="6" logging="no" name="myfilter" enabled="yes" description="" type="1" action="Move to folder" actionValue="filter test" condition=" OR (subject,contains,bye)" I realize that Mscott has his pop mail filters working but I've been trying to get them to work since Monday without success.
My suspicion is that the pop filters don't work with the new pop3/local mail directory structure - I certainly didn't change them to work that way, since I ported the code before the structure existed. I'll poke around the code.
This seems to be caused by the output file stream doing nothing when I ask it to flush(). Since the inbox doesn't have the data yet, the move message code can't move it. Argh. But wait, now I find there's a Flush() method. I wonder if this is because of the great xpidl case conversion...
The output filestream is now buffered. Currently there is a 4k buffer. If you write anything less than that, nothing will be written until you call flush or close the stream.
my problem, as near as I can tell, is that nsIOFileStream inherits from nsInputFileStream and nsOutputStream. nsOutputStream::flush does nothing. If nsIOFileStream inherited from nsOutputFileStream, then I imagine it would work.
feel free to fix this.
Ouch, that's frightening. Are you the closest thing to an owner this file has? Here's my proposed change, which basically overrides flush for nsIOFileStream: Index: nsFileStream.h =================================================================== RCS file: /cvsroot/mozilla/xpcom/io/nsFileStream.h,v retrieving revision 1.29 diff -c -r1.29 nsFileStream.h *** nsFileStream.h 1999/09/08 20:12:32 1.29 --- nsFileStream.h 1999/09/22 19:46:02 *************** *** 746,751 **** --- 746,753 ---- nsInputStream& operator >> (nsInputStream& (*pf)(nsInputStream&)) { return nsInputStream::operator >>(pf); } + virtual void flush() {if (mFileOutputStream) FileOutputStream->Flush();} + // DATA protected: nsCOMPtr<nsIFileOutputStream> mFileOutputStream; let me know if you aprove...I'll try running for a while to see if anyone was counting on nsIOFileStream::flush not working :-)
BTW, the above patch does fix the move filter action for POP3.
Summary: [Regression] Mail filters are broken under POP3 → [Regression] Message move filters are broken under POP3
changing summary to reflect actual bug.
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
QA Contact: lchiang → laurel
Move to folder filter action working OK for POP account using: 1999092308 NT 4.0 1999092308 Linux 6.0
Status: RESOLVED → VERIFIED
OK using 1999-10-20-11m11 commercial build mac OS 8.5 OK using 1999-10-20-11m11 commercial build NT 4.0 OK using 1999-10-20-08m11 commercial build linux 6.0
Product: MailNews → Core
Product: Core → MailNews Core
You need to log in before you can comment on or make changes to this bug.