I've just followed Phoenix Channel and Presence Documentation from their official site. Things work fine as it's described.
As Channel documentation, it has join callback so I can handle something when client joins specific topic. But why there's no leave callback what I think it should be exist?
I've googled some and found I could use Presence to track client status. It worked either but I don't need inform it to clients actually. If I tried to catch presence_diff event in handle_out callback of Channel, it was called multiple times as number of clients.
As Presence documentation says...
In case you want to use only a subset of the functionality provided by Phoenix.Presence, such as tracking processes but without broadcasting updates, we recommend that you look at the Phoenix.Tracker functionality from the phoenix_pubsub project
But, Phoenix.Tracker requires :pubsub_server property initially.
Here're my questions again.
Thanks in advance.
You do get messages when client leaves the channel.
From the documentation for https://hexdocs.pm/phoenix/Phoenix.Channel.html#module-terminate
Is there any reason this is not enough?