I was super excited to finally be able to use ActionCable for a new project (late to the party!) but was a little bewildered that guaranteed message delivery (and delivery ordering) wasn’t baked in. Messages are not delivered unless a client is connected at the time the message is broadcast, even if they reconnect shortly afterward.
I know this would make ActionCable heavier (it’d need to hold on to messages longer, and also keep track of delivery status for each subscribed user) but I think this would be a good feature to add.
https://logux.io has already solved most of the details around this, but they’re trying to solve a much deeper problem there (concurrent editing). Their strategies for message recovery look good though.