It's a bit confusing that SendMessage() may return an error, but if it succeeds you still might later get a failed delivery report, since it returning just means “I submitted this message to the server”. I think this behaviour is okay, but it should be explicitly documented in the Messages interface. SendMessage() and MessageSent do say that they only mean the message was submitted, but nothing is really mentioned up-front about failed delivery reports.
Fixed on my messages branch. *** This bug has been marked as a duplicate of bug 26838 ***
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.