Bound the requests that clean up after a failed upload

main

Commit

Stefan Hauboldyesterday

The delete and the readiness read run detached from the command's cancellation, and the API client has no timeout, so an unresponsive cell could hang the command. Both now give up after 30 seconds, and an unreadable state still leaves the attachment in place. The missing-file test matches os.ErrNotExist instead of the Unix error text, which Windows words differently.

Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com Entire-Checkpoint: 01M6KBQVKCNZBY8ABQ02CW5DX8