Replies (3)

If your event makes it to one of the medium or large-sized relays, it gets pulled by aggregators and quickly shows up all over. Then you get around rate limits. The problems arise for people only using the very biggest relays and/or with no outbox model.
Damus broadcasts automatically with geometric backoff if it fails to write to the relay, you don’t need to do it manually. If clients don’t do this then notes are easily lost during connection issues
this is what all proper network clients do... you can see examples of it in the bitcoin core and btcd p2p code as well front end devs are not often so well versed in the problems of socket networking, being used to HTTP APIs... websocket libraries don't give you any tools for this either