aboutsummaryrefslogtreecommitdiffstats
path: root/test_mailrules.py
AgeCommit message (Collapse)AuthorFilesLines
13 daysfeat(rules): order rules by stage, ties by file positionDanilo M.1-0/+36
Account tags must run before topic rules, which is what the stage field is for. Disabled rules stay loaded so a UI can re-enable them.
13 daysfeat(rules): drop a malformed rule rather than the whole fileDanilo M.1-0/+72
One typo must not stop the other rules from tagging. A missing file and a file that will not parse are tracked separately: the hook may run on the first and must refuse on the second.
13 daysfeat(rules): load a shared tagging-rule storeDanilo M.1-0/+94
The rules that tag incoming mail live in a notmuch post-new hook as hand-written shell. This is the first piece of moving them into a JSON store that both this tool and qtmaildir read. A rule carries no scope: the hook supplies tag:new, a dry run supplies nothing. Unknown fields are kept per rule so the format belongs to neither tool.