aboutsummaryrefslogtreecommitdiffstats
path: root/mail-overview/test-mail-notify.sh
AgeCommit message (Collapse)AuthorFilesLines
12 hoursfix(mail-overview): don't re-notify the prior batch, flatten newlinesDanilo M.1-0/+4
The lastmod range is inclusive at both ends and the stored revision was reused as the next start, so the batch just notified matched again. Start one revision later. A subject can contain a newline, which broke the bullet rows and the +N more count; flatten CR/LF to a space before escaping. Also reconciles the state-write comment and spec with the actual skip-and-advance failure behavior, and corrects two doc wordings.
13 hoursfeat(mail-overview): title, icon and spaced bullet bodyDanilo M.1-8/+12
A live test showed the old title ("<label> · N new") read poorly and the body packed the rows into one block. Title is now "New Mail - <label> (N)" with the mail-unread icon, and each message is a bullet on its own line with a blank line between. +N more counts rows, not physical lines, so the blank lines do not skew it.
13 hourstest(mail-overview): exercise the integer guard in read_prev_revDanilo M.1-1/+1
13 hoursfeat(mail-overview): track the notified revisionDanilo M.1-0/+25
Stores the database UUID beside the revision, because notmuch revisions only compare within one database and a rebuild restarts the counter. Missing, corrupt or mismatched state reports nothing, which the caller treats as seed-silently: with no floor, lastmod:0.. matches every unread message and startup becomes a wall of popups.
13 hoursfeat(mail-overview): build notification bodiesDanilo M.1-0/+33
Three rows of author and subject, then +N more, which bounds the height so a mailing list burst is not a wall. Markup characters are escaped because dunst renders body markup and a subject is untrusted text off the internet.
13 hoursfeat(mail-overview): parse accounts for the notifierDanilo M.1-0/+39
Same source the drawer parses, so adding an account in qtmaildir notifies with no edit here. Keys run to the closing bracket because real ones contain dots, and parsing walks lines because a folder named [Gmail]/Bozze ends a section body early.
13 hoursfeat(mail-overview): skeleton for the arrival notifierDanilo M.1-0/+43
A library guard so the test can source the script for its pure functions without starting a watch loop, and the check itself, which is one bash script rather than a framework.