aboutsummaryrefslogtreecommitdiffstats
path: root/src/messagebuilder.h
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-09-18 14:29:48 +0200
committerDanilo M. <danix@danix.xyz>2026-09-18 14:29:48 +0200
commit7d4654536de5be4bd3555eb4b81a2e07c1d4148d (patch)
tree03ca3f3e14811d109ad4e9aafcf690ffd16c4a8b /src/messagebuilder.h
parent196bfaeefdbbbd2ff23dc2648e21ae86d41a57b6 (diff)
downloadqtmaildir-7d4654536de5be4bd3555eb4b81a2e07c1d4148d.tar.gz
qtmaildir-7d4654536de5be4bd3555eb4b81a2e07c1d4148d.zip
docs: add the contact completion implementation plan
Item 204, six tasks, no spec: the shape was settled with the user on 2026-09-18 rather than brainstormed, so the plan carries the four decisions itself (the config key, loading once, matching on name and address, and the four vCard fields that matter). No new dependency. libical is installed but its vCard parser is 4.0 and this machine has 3.0.20, and libicalvcal is the old vCalendar converter rather than a vCard reader, so four fields of a hand parse is proportionate. The measurements are in the plan because two of them change what a correct implementation looks like. Of 117 cards in the real store only 14 carry an address, so a short candidate list is right rather than broken, and a fixture where every card completes would not be representative. The store is unfolded, so the folded-card fixture is the one the real data could never have caught. The largest trap is one this repository has already paid for twice: QLineEdit::setCompleter() is unusable for a field holding a list, and a test written with setText() passes against that bug because setText does not drive a completer at all. The plan requires typed keys and a mutation check on the second-recipient case. The query bar half comes with a correction: querycompleter.cpp:652-656 says addresses need an enumerator libnotmuch does not expose, which stops being true for from: and to: the moment the store exists. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Diffstat (limited to 'src/messagebuilder.h')
0 files changed, 0 insertions, 0 deletions