aboutsummaryrefslogtreecommitdiffstats
path: root/src/mimeparser.cpp
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-08-20 12:49:57 +0200
committerDanilo M. <danix@danix.xyz>2026-08-20 12:49:57 +0200
commit02d27c9eb963b3357c8f9aa113fbb3eb14f9e7e7 (patch)
treee95dc0ce7422e7e0cfff49199a1189d42728154e /src/mimeparser.cpp
parentdca7818517b4444cac5a7c27feb9ff8791e96e8f (diff)
downloadqtmaildir-02d27c9eb963b3357c8f9aa113fbb3eb14f9e7e7.tar.gz
qtmaildir-02d27c9eb963b3357c8f9aa113fbb3eb14f9e7e7.zip
docs: put sending behind a cancellable delay, item 123
The user asked for Gmail's undo-send, and it answers a question the spec had left open: what Cancel means during a send. It means nothing, if offered while send_command is running. Killing an SMTP client mid-transaction leaves an unknown send, since the message may have reached the server in full before the kill, and that is worse than either clean outcome. Moving the cancel window before the command starts makes Undo mean genuinely nothing happened. The popup owns the whole operation, countdown through completion, rather than a countdown popup handing over to a status bar. One widget changing state in one place, and it keeps the eye-catching surface the user asked for. Modal to the composer only, so a second composer and the main window stay usable. No close button and no Escape: during the countdown a dismissal cannot say whether it means cancel or send now. send_delay_ms defaults to 5000, and zero skips it. The test for this asserts a negative: Undo leaves the stub command never run. A test asserting only that the composer reopened would pass against a design that ran the command and discarded the result, which is exactly what the delay exists to prevent. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YDq53rMd3AQp7QmcZzpuBM
Diffstat (limited to 'src/mimeparser.cpp')
0 files changed, 0 insertions, 0 deletions