Update: The Sparrow guys tell me they’ve found and nailed the bug, and will release the fix in 1.4 in late September.
I’ve just discovered a critical issue with Sparrow that I thought others should be warned of. It just bit me, big-time, when in the middle of an important negotiation with a third party, an earlier unpolished draft was sent out instead of the final email, when I experienced a momentary Internet connection dropout.
Sparrow has an issue where hitting “Send”, in unreliable network conditions, on a draft message that has been modified, results in a prior copy of the message being sent, rather than the latest version.
To replicate this issue reliably:
- Create a new message (Cmd-N)
- Specify a recipient (oneself), subject, and some body content (say, the letter “A”)
- Hit “Save”, to save the draft
- Change “A” to “B”, then disconnect the network connection (in my case, turning off the radio on my external WiFi adapter), then hit “Send”. Sparrow will report a failed connection, and will keep the outgoing message with state “Pending”
- Restore network connection. Upon detecting the restored connection, Sparrow will proceed to send the message
- Check email. Received test email will have “A” in the email body.
Scary stuff. I hope they’ll fix this soon, but it’s going to make the app difficult to trust in future!
Update: I should mention, a probable workaround for this is to never, ever hit “Send” until you’ve saved the draft, and verified that the save operation has completed (perhaps even restart the app first).