You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
cede310 Release: give the Homebrew tap token as a bare .Env reference, the only form GoReleaser accepts for tokens
4298a6c Contributing: outside pull requests are not accepted for now; issues are welcome and security reports go through private vulnerability reporting
62d72af Undoing a Cleanup batch, the last hour or what a rule did today now asks first, saying how many emails go back when known and that dry-run does not stop an undo, while one email's Undo stays one click (MAI-109)
8e1d956 You can now get a daily or weekly summary email of what MailRules sorted per rule, what it trashed and what waits in Needs review, with links back into the app, sent through your own SMTP server and set up, tested and previewed in Settings (MAI-99)
4d1f994 The free build no longer includes Suggest from my mail: its engine moves to the hosted build, which adds it through the new public plug-in package ext, while the free build hides the tab and answers its route with not_available (MAI-96)
e0c8143 Activity groups each day's rows by when MailRules acted on them, newest first, shows that time on the row and the arrival date in the details, calls its first tile "Acted on today" so "Sorted" means the same as on the Overview, and a rule added from a template says "Added from the Receipts template" instead of quoting words the user never said (MAI-74, MAI-71, MAI-73)
7092bb1 Input borders, the Connecting dot, the idle bar and muted text on the selected nav item now meet WCAG AA contrast in light mode. MAI-65
e64974d The tester and scan boxes take their bounds from the daemon, a draft card says how many emails it was really tested on, and the Add rules tabs are real tabs for screen readers and the keyboard (MAI-41, MAI-42, MAI-54)
0c5b43f Rules name the folder a trash rule's mail really goes to, a No rule row shows the model's confidence that no rule applies in its chip as in its reason, Settings labels keep their space before the dot, Select all and Select none in a cleanup check act on the rows the rule filter shows, a late Settings load no longer overwrites newer values, and connecting a mailbox no longer logs a Svelte warning (MAI-72, MAI-78, MAI-79, MAI-47, MAI-58, MAI-39)
3da7312 Cleanup shows what a check would do as a chart, with Choose emails opening the list in a short scrolling box (MAI-93)
48744b8 README: install with Homebrew, the tap is named, and Compose can publish another port through MAILRULES_PORT (MAI-91)
cdc4dd2 In dry-run, a sender rule no longer counts emails it only pretended to sort, so its hit count reflects real mail only (MAI-86)
635e990 Answering a Needs review email that was moved or deleted in another mail app now takes it off the list and says why, instead of leaving it stuck in the queue (MAI-85)
bd7d56e An email moved out of the inbox and back, or brought back from where a rule put it, stays one email: it waits in Needs review once and is not sorted away again (MAI-77)
531e97c A fresh install now guides the new admin through choosing the AI and connecting a first mailbox, with each step skippable and dry-run left on (MAI-83)
e713434 Undoing a cleanup batch says how many emails it really moved back, leaving out rows that were skipped or only recorded in dry-run and counting an email once however many actions it had (MAI-46)
c3168e2 Tagging a version v* publishes a GitHub Release with Linux and macOS archives (web UI built in, LICENSE included) and checksums, and pushes a multi-arch image to ghcr.io/turtlebyte-in/mailrules, skipping the Homebrew cask until its tap token exists (MAI-84)
e288cba A Sort or new mail handled in dry-run no longer teaches MailRules a sender rule, then or after going live, so those senders are still decided by the model (MAI-45)
1fd2d24 Activity says how many mailboxes are really live, and "No mailbox live" when all are paused (MAI-70)
6e2d69f MailRules is licensed under AGPL-3.0: LICENSE, a README section, the licence in releases and the image, and a Source code link in the app (MAI-81)
0b1c93c Keep the owner's private documents out of git; the README carries the configuration table (MAI-80)
4087991 Add rules: drafted rules keep their conditions and exceptions, because the AI is shown the exact shape of a condition (MAI-76)
efbcab6 Mail sent from the mailbox's own address is left alone by default, and Settings can switch that off (MAI-75)
b642bed Newsletter senders skip the AI sooner: bulk mail that passed DMARC learns a sender rule after one confident decision, not three (MAI-66)
b6ed3b7 Dark mode: Settings → Appearance picks System, Light or Dark, applied before the page paints and following the device live on System (MAI-64)
b0812e0 Every screen works on a phone: a Menu bar replaces the sidebar, controls are 44px to tap, nothing scrolls sideways and the Cleanup check stacks its rows (MAI-63)
3df9ac6 An email the AI is unsure about waits in Needs review untouched, even when a default rule could have taken it, and is no longer tagged in the mailbox (MAI-62)
b4308ba An AI answer that cannot be read is asked for again, twice, and if it still cannot be read the email is left where it is with a reason in Activity, not retried for half an hour (MAI-61)
1de09ee Composed rules keep the owner's exact words: the model picks numbered pieces of the text instead of copying them, and each compose call logs its model time and tokens (MAI-60)
a951820 Templates: a Recruiters template sends recruiter outreach to Jobs unless you have replied to the sender (MAI-36)
8f854c5 Scans read 100 emails per request to the mail server, not one each (MAI-59)
b663a90 Claude keys that cover a whole organisation work: MailRules names the workspace, looking it up itself when it can (MAI-57)
f8e67ca Logs: a model provider's refusal says why, each suggestion request logs its size, and the body choice is logged (MAI-56)
25a1d9a Let the rule composer run on OpenAI-compatible and Ollama models, not only Claude (MAI-55)
6293338 Merge main into feature/mai-51-suggest-rules
d4128c4 Send trashed mail to a MailRules Trash folder instead of the real Trash, on by default (MAI-53)
9a8cbfb Add rules: suggest rules from the mail already in a folder, the AI proposing folder and trash rules to pick from (MAI-51)
6e10287 Add rules builder: set how sure the AI must be, with the rule editor's own slider (MAI-50)
2c45596 Worker: a cleanup Sort reads the account under the supervisor's lock, so a reconnect cannot race it (MAI-52)
13a3c3a Cleanup: the batch and check poll timers stop themselves when their state is gone (MAI-49)
caa3979 Cleanup: a past run says what it covered, not 'all time' for every run without a start (MAI-48)
bddc77c Cleanup: choose the newest N emails, the last N days or all mail, and say when a check covers only the newest 2,000 (MAI-48)
0b4a70c Cleanup: the ticks are kept with the check in the daemon's memory and restored on reload (MAI-44)
3ee847a Cleanup check table: fit the card, honest sorted count, confidence only where it means something, Needs review labelled (MAI-44)
f1643f1 Cleanup: one real check held in memory, a selectable table, and a Sort that replays it without asking the model again (MAI-44)
b5dca67 Rule tests: progress at any size, a chosen number of emails, daemon debug logs, waiting states in the UI (MAI-40)