| Age | Commit message (Expand) | Author | Files | Lines |
| 8 days | docs: settle item 165 on a stable draft id, discarded at send | Danilo M. | 1 | -6/+42 |
| 8 days | fix: give the Sent and Drafts views one row per message, in date order | Danilo M. | 7 | -44/+440 |
| 8 days | docs: record Mark spam's absence from the message bar as item 190 | Danilo M. | 1 | -0/+64 |
| 2026-08-29 | docs: settle item 187 on Trash's shape | Danilo M. | 1 | -57/+67 |
| 2026-08-29 | docs: correct item 187 against the real folder layout | Danilo M. | 1 | -16/+60 |
| 2026-08-29 | fix: draw Important as a star on the message bar | Danilo M. | 2 | -3/+23 |
| 2026-08-29 | feat: put Star and Archive on the message bar too | Danilo M. | 5 | -86/+135 |
| 2026-08-29 | docs: record the message bar's next actions as item 189 | Danilo M. | 1 | -0/+66 |
| 2026-08-29 | feat: give the trash its own actions on the message bar | Danilo M. | 10 | -20/+470 |
| 2026-08-29 | fix: retry a sync that was skipped because another held the lock | Danilo M. | 5 | -60/+167 |
| 2026-08-29 | feat: have the sync script report what it did | Danilo M. | 15 | -68/+1320 |
| 2026-08-29 | docs: record the item 176 regression test flake as item 183 | Danilo M. | 1 | -0/+64 |
| 2026-08-29 | release: 0.28.0v0.28.0 | Danilo M. | 2 | -1/+14 |
| 2026-08-29 | fix: say an edit is waiting for the sync instead of claiming it landed | Danilo M. | 7 | -3/+200 |
| 2026-08-29 | fix: refresh the conversation dashboard after a write | Danilo M. | 6 | -0/+193 |
| 2026-08-29 | fix: judge a conversation's trash state on all of its messages | Danilo M. | 9 | -21/+353 |
| 2026-08-29 | docs: move CLAUDE.md to AGENTS.md, and reconcile the backlog | Danilo M. | 3 | -1189/+1350 |
| 2026-08-28 | feat: count a card's messages, not its repliesthread-row-identity | Danilo M. | 13 | -72/+111 |
| 2026-08-28 | fix: list a conversation's first message under its row | Danilo M. | 3 | -68/+215 |
| 2026-08-28 | docs: close items 170, 176 and 177 | Danilo M. | 6 | -173/+535 |
| 2026-08-28 | feat: show the dashboard when a conversation is selected | Danilo M. | 6 | -76/+603 |
| 2026-08-28 | feat: read a thread's digest from the index | Danilo M. | 3 | -0/+370 |
| 2026-08-28 | fix: undo only what the write actually changed | Danilo M. | 5 | -33/+373 |
| 2026-08-28 | feat: add the thread dashboard | Danilo M. | 6 | -0/+765 |
| 2026-08-28 | feat: judge a row's membership on the thread's union | Danilo M. | 5 | -0/+405 |
| 2026-08-28 | feat: treat a mixed conversation's unread state as unread | Danilo M. | 2 | -56/+95 |
| 2026-08-28 | docs: settle the unread toggle on a mixed conversation | Danilo M. | 1 | -0/+16 |
| 2026-08-28 | feat: scope an action to the row it was invoked on | Danilo M. | 10 | -928/+1062 |
| 2026-08-28 | docs: state why the thread reply is reply-all | Danilo M. | 1 | -4/+6 |
| 2026-08-28 | docs: settle reply, forward and save on a conversation row | Danilo M. | 1 | -0/+24 |
| 2026-08-28 | feat: resolve a selection's scope from what each row is | Danilo M. | 3 | -0/+138 |
| 2026-08-28 | refactor: remove the sibling chip tier | Danilo M. | 5 | -236/+12 |
| 2026-08-28 | feat: draw a conversation row's own tags, in one tier | Danilo M. | 6 | -393/+40 |
| 2026-08-28 | feat: let a row say whether it is a conversation | Danilo M. | 3 | -0/+110 |
| 2026-08-28 | docs: plan the thread row identity change | Danilo M. | 1 | -0/+1390 |
| 2026-08-28 | docs: settle the dashboard's colours | Danilo M. | 1 | -3/+21 |
| 2026-08-28 | docs: settle the dashboard's scrolling, action strip and unread cap | Danilo M. | 1 | -6/+21 |
| 2026-08-28 | docs: specify what a thread row stands for | Danilo M. | 2 | -1/+374 |
| 2026-08-28 | docs: record the item 171 hand test and its final shape | Danilo M. | 2 | -3/+5 |
| 2026-08-27 | feat: forward an HTML message with its formatting | Danilo M. | 19 | -75/+1749 |
| 2026-08-27 | docs: drop item 164, the inbox tag on a draft was never there | Danilo M. | 2 | -104/+145 |
| 2026-08-27 | fix: flag a saved draft seen so it is not tagged unread | Danilo M. | 6 | -47/+220 |
| 2026-08-26 | docs: record item 119 and close it in the backlog | Danilo M. | 5 | -59/+165 |
| 2026-08-26 | fix: size the pending-changes dialog to its content | Danilo M. | 1 | -1/+11 |
| 2026-08-26 | feat: open the unsynced-changes count to see what it counts | Danilo M. | 10 | -0/+561 |
| 2026-08-26 | feat: resolve pending-change ids to subjects | Danilo M. | 3 | -0/+171 |
| 2026-08-26 | feat: snapshot the pending changes as rows | Danilo M. | 4 | -9/+215 |
| 2026-08-26 | refactor: drop the unnettable pending-edit counter | Danilo M. | 3 | -27/+49 |
| 2026-08-26 | fix: give a restored message its inbox tag back | Danilo M. | 2 | -1/+27 |
| 2026-08-26 | fix: correct the avatar initials, the two-tone fill and the fade | Danilo M. | 10 | -58/+358 |