diff options
| author | Danilo M. <danix@danix.xyz> | 2026-08-20 12:49:57 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-08-20 12:49:57 +0200 |
| commit | 02d27c9eb963b3357c8f9aa113fbb3eb14f9e7e7 (patch) | |
| tree | e95dc0ce7422e7e0cfff49199a1189d42728154e /src/keymap.h | |
| parent | dca7818517b4444cac5a7c27feb9ff8791e96e8f (diff) | |
| download | qtmaildir-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/keymap.h')
0 files changed, 0 insertions, 0 deletions
