aboutsummaryrefslogtreecommitdiffstats
path: root/docs/superpowers/plans/2026-08-09-card-list.md
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-08-20 18:00:30 +0200
committerDanilo M. <danix@danix.xyz>2026-08-20 18:00:30 +0200
commitc50bea78e036518ce1a2a3eb899bbb5e305affea (patch)
tree9eca7fe323ef03a1f05aa51123c1d63aad242274 /docs/superpowers/plans/2026-08-09-card-list.md
parent81c0086a06d4b13478475c2fa05f040c0511bfba (diff)
downloadqtmaildir-c50bea78e036518ce1a2a3eb899bbb5e305affea.tar.gz
qtmaildir-c50bea78e036518ce1a2a3eb899bbb5e305affea.zip
docs: implementation plan for compose and send, item 123
Thirteen tasks, ninety-nine steps, against the spec committed earlier on this branch. Written on master so it is readable from either branch; the implementation goes on compose-and-send. Every API assumption was verified against this machine rather than written from memory, which found five things the spec had wrong or unstated: libcmark-gfm-extensions ships NO pkg-config file although libcmark-gfm does, so CMake needs find_library beside pkg_check_modules. All three enabled extensions live in that second library, so finding only the first yields a build that compiles and silently renders plain CommonMark. GMime defaults to iso-8859-1, emits no Date or Message-ID unless asked, and g_mime_text_part_set_text() encodes with whatever charset is set when it is called, so setting the charset afterwards produces a part labelled utf-8 carrying latin-1 bytes. All three fail only on accented text, which for this user is every message. The plan builds the content stream directly and carries a working probe's output as evidence. MessageNode has no body or date field, so quoting takes a ParsedMessage. ThreadListModel::messageScopeFor() takes a QModelIndexList rather than a single index. There is no Config::maildirPath(): the mail root comes from notmuch_config_get(NOTMUCH_CONFIG_MAIL_ROOT) via a file-static helper in the worker, and item 124 records that composing a destination from the wrong root would write into the Xapian tree. Two spec statements are corrected in the plan rather than followed. It calls for a new top-level Message menu and one already exists at mainwindow.cpp:1156. And it requires a shortcut per action, which item 132 changed while this was being planned, so save_message ships without one.
Diffstat (limited to 'docs/superpowers/plans/2026-08-09-card-list.md')
0 files changed, 0 insertions, 0 deletions