aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Expand)AuthorFilesLines
6 daysfeat: write calendar files atomically, refusing stale onesDanilo M.3-0/+108
6 daysfeat: edit or delete one occurrence of a repeating eventDanilo M.1-3/+48
6 daysfix: compare sameMeaning overrides by recurrence id and check the uidDanilo M.1-2/+12
6 daysfeat: edit a calendar event in place and write new onesDanilo M.1-3/+260
6 daysfeat: an event is editable only when the user organises itDanilo M.1-1/+9
6 daysfix: expand a long dense series completely and flag overrides' own all-dayDanilo M.1-4/+6
6 daysfeat: expand calendar occurrences in each event's own zoneDanilo M.1-2/+112
6 daysfix: an empty RRULE means does-not-repeat, not a custom ruleDanilo M.1-0/+3
6 daysfeat: model the calendar's repeat control as RRULE textDanilo M.1-4/+251
6 daysfeat: read every time form and load a calendar vdirDanilo M.1-1/+72
6 daysfeat: parse one calendar event with libical (item 206)Danilo M.7-1/+518
12 daysfix: sanitise untrusted contact names on insertionDanilo M.1-16/+24
12 daysfeat: load the contact store once and feed both consumersDanilo M.2-0/+30
12 daysfeat: complete contacts in the query barDanilo M.2-4/+34
12 daysfeat: complete contacts in the composer recipientsDanilo M.2-5/+259
12 daysfeat: add the contacts_dir config keyDanilo M.2-0/+50
12 daysfeat: add ContactStore, the vCard address-book parseDanilo M.3-0/+295
2026-09-14fix: keep the message bar populated on a spam replyDanilo M.1-0/+7
2026-09-14fix: the Not spam review findingsDanilo M.1-7/+9
2026-09-14feat: a Not spam actionDanilo M.3-84/+249
2026-09-14fix: gate spam like delete, and keep one origin in the modelDanilo M.3-9/+67
2026-09-14feat: find stranded spam mailDanilo M.3-0/+62
2026-09-14feat: empty spam moves mail to the trash, per accountDanilo M.3-2/+122
2026-09-14feat: spam on the message bar, with a bug icon and junk fallbackDanilo M.2-92/+124
2026-09-13feat: mark spam moves mail to the account's spam folderDanilo M.2-5/+141
2026-09-13refactor: rename the origin tag to moved-from: with overwrite semanticsDanilo M.7-26/+55
2026-09-13feat(config): a threaded, path-based spam filterDanilo M.2-1/+21
2026-09-13feat(config): per-account spam folder and queriesDanilo M.2-0/+51
2026-09-08feat: make Sync follow the account being looked atDanilo M.2-10/+54
2026-09-07fix: refresh the current query when the index changesDanilo M.3-0/+36
2026-09-06fix: index the sent copy so it appears in the Sent view at onceDanilo M.3-0/+40
2026-09-06fix: keep one Message-ID across a draft's revisionsDanilo M.5-7/+82
2026-09-06fix: give the Sent and Drafts views one row per message, in date orderDanilo M.3-31/+122
2026-08-29fix: draw Important as a star on the message barDanilo M.1-3/+18
2026-08-29feat: put Star and Archive on the message bar tooDanilo M.1-8/+26
2026-08-29feat: give the trash its own actions on the message barDanilo M.5-20/+194
2026-08-29fix: retry a sync that was skipped because another held the lockDanilo M.1-0/+17
2026-08-29feat: have the sync script report what it didDanilo M.6-10/+276
2026-08-29fix: say an edit is waiting for the sync instead of claiming it landedDanilo M.2-3/+38
2026-08-29fix: refresh the conversation dashboard after a writeDanilo M.2-0/+49
2026-08-29fix: judge a conversation's trash state on all of its messagesDanilo M.4-20/+123
2026-08-28feat: count a card's messages, not its repliesthread-row-identityDanilo M.8-39/+55
2026-08-28fix: list a conversation's first message under its rowDanilo M.1-14/+29
2026-08-28feat: show the dashboard when a conversation is selectedDanilo M.5-1/+348
2026-08-28feat: read a thread's digest from the indexDanilo M.2-0/+234
2026-08-28fix: undo only what the write actually changedDanilo M.3-33/+220
2026-08-28feat: add the thread dashboardDanilo M.4-0/+690
2026-08-28feat: judge a row's membership on the thread's unionDanilo M.4-0/+293
2026-08-28feat: treat a mixed conversation's unread state as unreadDanilo M.1-22/+32
2026-08-28feat: scope an action to the row it was invoked onDanilo M.6-415/+393