Skip to main content

Module filters

Module filters 

Source
Expand description

Mail filters in the window (docs/client.md, “Filters”; the rules are sioul_core::rules, what reaches the server sioul_sync::filters).

In Mail ▸ ⚙, under “Filters” (MailFilters.qml): the one list, each filter in words, narrowed to an address when you choose one; edited in place and saved at once into the configuration, as every setting is; “Try it”, which counts what a filter takes in your inboxes now; and running them all on the inboxes, read mail included: said first, done after ten seconds to undo (mail::schedule_filters).

After each fetch, on the watcher’s own thread (never the window’s), the arrivals still unread are filtered on the server (after_fetch); what a filter moves out of the inbox or marks read is never told as new mail (untold, for mailnote), whichever device acts on it.

Structs§

Address 🔒
An address, for the narrowing and the editor’s “On which addresses”.
Edited 🔒
A filter as the editor has it: each part plain, its sentence, what keeps it from running, and to which addresses alone it applies (said, never read back).
EditedAct 🔒
EditedCondition 🔒
Filtered 🔒
What a filters’ run after a fetch did: how many messages it took, what could not be done, said (“” when all was), and the messages to tell as new mail all the same (mailnote::unfiltered).
FolderChoice 🔒
A folder a filter may move mail into, by the name you read, with the addresses that have it.
Found 🔒
What “Try it” and “Run them on the inboxes” found, for the window.
Given 🔒
What “Make it a filter…” gives (MailSearch.qml): the search’s conditions, as rules::Condition writes them, all of them or any; a name and actions when a whole filter is given (the window’s pictures), as the editor has them.
View 🔒

Constants§

NAMED 🔒
Messages named under “Try it”: a few, to see that they are the right ones.
TRIED 🔒
“Try it” reads the newest messages of the inboxes, this many at most: enough to see what a filter takes.

Statics§

OPENED 🔒
A filter just made from a search (new_from): its place in the list, and what of the search was left out, said; taken by the next view, which opens it.
PREVIEWED 🔒
What all the filters would do, kept from the preview for the run, so that it does what was said.

Functions§

after_fetch 🔒
After a fetch of account (its inbox’s arrivals, new; none when only something waits for another look): the filters on the server, on a thread that may wait for it. What a filter could not act on is to be told as any new mail, the notifications having held it back for them (untold).
failures 🔒
What could not be done, in a sentence, for the account of its first failure (Done::said); none when everything was.
from_search 🔒
A filter from a search’s conditions, and whether some were left out. A filter reads what arrives in an inbox: the search’s address conditions become the addresses it runs on; a folder condition other than the inbox, and a mark other than “not read”, are left out. Without a condition left, one to fill; without an action given, one folder to choose.
inboxes 🔒
The inboxes’ messages kept here, the newest first, at most limit, by account.
new_from 🔒
A new filter, last in the list, from a search (Given, as JSON), saved and opened in the editor the next time the list is shown; what went wrong, else “”.
perform 🔒
The run, once its ten seconds are over: each account in one connection; what the status line says.
preview 🔒
“Run them on the inboxes”: what every filter would do to every message of the inboxes, read ones included, said first; kept for the run.
run 🔒
“Run them”: what the preview said, after ten seconds to undo. What went wrong, else “”.
said 🔒
One filter being edited, as the list would show it: {said, problem, only}, as JSON.
save 🔒
The list written, in its order, as the editor has it (JSON), from the list it showed (shown, JSON; “” for none): the editor’s change set over the filters as the configuration holds them now, under its lock, which the sharing takes too (settings::rebased): a filter another device added meanwhile stays. What went wrong, else “”.
try_one 🔒
“Try it”: what one filter, as it is being edited (JSON), takes in the inboxes now, the newest messages first; mail_filters_found brings it.
untold 🔒
New mail as the notifications first see it: without what a filter would move out of the inbox, put in the junk or the trash, or mark read, held back until this device’s filters have run (docs/porch.md, “Notifications”). Then what they did is never told, nor what another device marked first and does; what they could not act on is told as any new mail (after_fetch’s tell, mailnote::unfiltered).
view 🔒
The filters as the editor shows them, with the addresses, their folders and the editor’s words, as JSON.
yes 🔒