Closed pschonmann closed 5 days ago
Can you export your filter?
(the functionality to export is part of the quickFilters Add-on)
Also, try to switch the filter to execute "after Junk classification"
I want to check mail BEFORE junk, but ill try.
{
"accountName": "imap://petr.schonmann%40domain.cz@mail.domain.cz",
"rootFolderURL": "imap://petr.schonmann%40domain.cz@mail.domain.cz",
"date": "2024-10-04T09:21:20.867Z",
"filters": [
{
"filterName": "VADNE MAILY SE SNAPSHOTY",
"filterDesc": "",
"filterType": 17,
"temporary": false,
"actionCount": 1,
"enabled": true,
"actionList": [
{
"type": 17,
"strValue": "$label1"
}
],
"searchTerms": [
{
"attrib": -2,
"op": 19,
"value": {
"attrib": -2,
"str": ".*https\\:\\/\\/subdomain\\.domain\\.cz\\/dashboard\\/snapshot\\/[\\r\\n]+V DOMECKu.*"
},
"booleanAnd": true,
"customId": "filtaquilla@mesquilla.com#bodyRegex",
"beginsGrouping": false,
"endsGrouping": false
}
]
}
]
}
thanks for posting the error log, I think one of the main problems is that the message cannot be read (streamed):
NetUtil.readInputStreamToString FAILED
Streaming the message in folder Inbox failed.
Matching body impossible.
it would be interesting to me whether the same error happens if you rolled back to FiltaQuilla 4.0 ?
there were some changes affecting streaming maybe it affects your mail system.
The old code determines the message size first:
let hasOffline = folder.hasMsgOffline(aMsgHdr.messageKey);
let messageSize = hasOffline
? aMsgHdr.offlineMessageSize
: aMsgHdr.messageSize;
var data;
if (!messageSize) {
if (FiltaQuilla.Util.isDebug) {
console.log(`Filter could not read message size for ${aMsgHdr.mime2DecodedSubject}! Offline = ${hasOffline}`, aMsgHdr, folder);
}
if (hasOffline) {
messageSize = aMsgHdr.messageSize;
if (FiltaQuilla.Util.isDebug) {
console.log(`trying to fallback to messageSize: ${messageSize}`);
}
if (!messageSize) {
return false;
}
}
}
it then streams the data in a single chunk:
let stream = folder.getMsgInputStream(aMsgHdr, {});
try {
data = NetUtil.readInputStreamToString(stream, messageSize);
Since 4.1 we use this code, after recommendation by a Thunderbird Core developer:
let stream = folder.getMsgInputStream(aMsgHdr, {});
let isStreamError = false;
try {
// [issue #260]
data = "";
let available;
while (available = stream.available() ) {
data += NetUtil.readInputStreamToString(stream, available);
}
}
this is where the error is thrown. Would it help for your issue?
Also for investigating the recursion problem, can you enable debug mode and the switch "debug.mimeBody", here?
extensions.filtaquilla.debug.mimeBody = true
if you capture the debug log then we might get more info why there is too much recursion happening.
Seems this is triggered by a regex finding multiple matches in a non-global regex. So any regular expression that doesn't end with /g
Here is a version that might fix it:
Will probably release this soon.
Please test the latest version:
be aware that there are additional options for regex in body searches in the new "settings" button (I might add same to subject with body as well)
As usual to test this prerelease, download the zip file and then drag it into Thunderbird Add-ons Manager (without extracting).
Fixed in 4.3 - Published 17/11/2024
Hi im using thunderbird on linux mint
When i start, it starts too long and console give me lots of these errors
Thanks for check