diff options
| author | Danilo M. <danix@danix.xyz> | 2026-08-20 18:00:30 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-08-20 18:00:30 +0200 |
| commit | c50bea78e036518ce1a2a3eb899bbb5e305affea (patch) | |
| tree | 9eca7fe323ef03a1f05aa51123c1d63aad242274 /src/syncmonitor.h | |
| parent | 81c0086a06d4b13478475c2fa05f040c0511bfba (diff) | |
| download | qtmaildir-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 'src/syncmonitor.h')
0 files changed, 0 insertions, 0 deletions
