dwyl / learn-phoenix-framework

:fire: Phoenix is the web framework without compromise on speed, reliability or maintainability! Don't settle for less. :rocket:
646 stars 45 forks source link

Noisy Warning in Terminal when Running Chat App: [warn] Ignoring unmatched topic "topic:subtopic" in ChatWeb.UserSocket #109

Open nelsonic opened 6 years ago

nelsonic commented 6 years ago

While running the Phoenix Chat Example App on localhost we are seeing this "noisy" warning:

[warn] Ignoring unmatched topic "topic:subtopic" in ChatWeb.UserSocket

warn-ignoring-unmached-topic

code/phoenix-chat-example $ mix phx.server
[info] Running ChatWeb.Endpoint with Cowboy using http://0.0.0.0:4000
09:50:37 - info: compiled 6 files into 2 files, copied 3 in 1.7 sec
[warn] Ignoring unmatched topic "topic:subtopic" in ChatWeb.UserSocket
[info] JOIN "chat_room:lobby" to ChatWeb.ChatRoomChannel
  Transport:  Phoenix.Transports.WebSocket (2.0.0)
  Serializer:  Phoenix.Transports.V2.WebSocketSerializer
  Parameters: %{}
[info] Replied chat_room:lobby :ok
[debug] QUERY OK source="messages" db=5.9ms decode=7.3ms
SELECT m0."id", m0."message", m0."name", m0."inserted_at", m0."updated_at" FROM "messages" AS m0 []
[warn] Ignoring unmatched topic "topic:subtopic" in ChatWeb.UserSocket
[warn] Ignoring unmatched topic "topic:subtopic" in ChatWeb.UserSocket
[warn] Ignoring unmatched topic "topic:subtopic" in ChatWeb.UserSocket
[warn] Ignoring unmatched topic "topic:subtopic" in ChatWeb.UserSocket
[warn] Ignoring unmatched topic "topic:subtopic" in ChatWeb.UserSocket

The warning just keeps being logged in the Terminal/Console indefinitely while the client is open ...

Tried searching Google / GitHub / StackOverflow / Elixir Forum ... πŸ”
but no obvious solution ... 😞

https://elixirforum.com/search?q=unmatched%20topic%20%22topic%3Asubtopic%22 image

If you know how to remove this warning, please share! Thanks! πŸ––

Additional Info

Version
OS OSX 10.13.2 (latest)
Elixir v1.5.3 (latest)
Phoenix v1.3.0 (current/stable)
Terminal iTerm v3.1.5

Question mirrored on StackOverflow and Elixir Forum for community visibility:

nelsonic commented 6 years ago

Got answer on Elixir Forum: https://elixirforum.com/t/phoenix-channels-warn-ignoring-unmatched-topic-topic-subtopic-how-to-avoid-terminal-warning-message/11509 from @kokolegorille πŸŽ‰

Solution:

Remove the default socket.channel connection to "topic:subtopic" in socket.js file!

Open assets/js/socket.js file and locate the following lines of code:

let channel = socket.channel("topic:subtopic", {})
channel.join()
  .receive("ok", resp => { console.log("Joined successfully", resp) })
  .receive("error", resp => { console.log("Unable to join", resp) })

Either comment them out or remove them. βœ