Search code examples
elixirphoenix-frameworkphoenix-channels

Ignoring unmatched topic "heartbeat" in MyApplication.UserSocket


This problem seems so basic that I can absolutely not find any information about it in tutorials nor in documentation. Yet if my clients ping the "heartbeat" (both the iOS and Android clients use heartbeat by default) it's not working: [warn] Ignoring unmatched topic "heartbeat" in MyApplication.UserSocket

I have the feeling this piece of code in transport.ex should simply echo any request sent to heartbeat yet somehow it doesn't:

  def dispatch(%{ref: ref, topic: "phoenix", event: "heartbeat"}, _channels, socket) do
    {:reply, %Reply{join_ref: socket.join_ref, ref: ref, topic: "phoenix", status: :ok, payload: %{}}}
  end

Do I miss a piece of configuration somewhere?

All other functionality I've implemented work perfectly, so all channels I made work.


Solution

  • I was using an outdated client that was sending the wrong heartbeat message. The problem went away afterwards.