Open
Description
After looking into #6882, I found that some callsites that call NotifyWhenOnline
followed by SendMessage*
won't retry if the message fails to send. It may be fine in some cases, but I think we should evaluate case-by-case to ensure that if the peer is notified as online and then goes offline, the callers can handle this and messages aren't lost.