Hacker News new | ask | show | jobs
by tlarkworthy 1404 days ago
So you will lose messages.

"Phoenix uses an at-most-once strategy when sending messages to clients. If the client is offline and misses the message, Phoenix won't resend it. Phoenix doesn't persist messages on the server. If the server restarts, unsent messages will be gone. If our application needs stronger guarantees around message delivery, we'll need to write that code ourselves. Common approaches involve persisting messages on the server and having clients request missing messages. For an example, see Chris McCord's Phoenix training: client code and server code."

https://hexdocs.pm/phoenix/channels.html

It will be impossible to build a reliable mobile experience on top of such shaky foundations.

1 comments

> So you will lose messages.

This is true but you can store your messages inside your database and on reconnect you can fetch the messages you missed.

you need a queue to do that properly, do your users have to manage that queue?
Yes, developers will have to do this themselves for now.