Skip to content

compose: kill the sendmail process on timeout#138

Open
laarmen wants to merge 1 commit intoakissinger:masterfrom
laarmen:compose-timeout
Open

compose: kill the sendmail process on timeout#138
laarmen wants to merge 1 commit intoakissinger:masterfrom
laarmen:compose-timeout

Conversation

@laarmen
Copy link
Copy Markdown
Collaborator

@laarmen laarmen commented Apr 20, 2026

When you write an email and your sendmail process times out, the thread finishes, but the underlying process is still kicking around. This results in duplicate emails being sent, as the user (randomly, me) will try again.

In my case, it happens because I use gmi for both syncing and sending email, and the send subcommand actually blocks if a sync is in progress, and sometimes those can be pretty long if you have a lot of tag changes (Google is pretty swift in rate-limiting). I also patched that tool to fail rather than block, but I figure that Dodo should also do the right thing here.

Further work would be to also think about that process when the main one exits, but that's out of scope for this patch.

When you write an email and your sendmail process times out, the thread
finishes, but the underlying process is still kicking around. This
results in duplicate emails being sent, as the user (randomly, me)
will try again.

In my case, it happens because I use `gmi` for both syncing and sending
email, and the send subcommand actually blocks if a sync is in progress,
and sometimes those can be pretty long if you have a lot of tag changes
(Google is pretty swift in rate-limiting). I also patched that tool to
fail rather than block, but I figure that Dodo should also do the right
thing here.

Further work would be to also think about that process when the main one
exits, but that's out of scope for this patch.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant