{"version":"1.0","type":"rich","title":"phoenix_channels","description":"This example demonstrates real-time chat activity in a Phoenix Channels application. It shows how a server broadcasts user join events to connected clients, while the client-side channel listener appends incoming messages to a growing list. The Elixir server code uses `send(self, :after_join)` to trigger a `handle_info` callback that calls `broadcast!` and `push`, while the JavaScript client uses the channel’s `on(\"user:joined\", ...)` method to update component state. The data flow is visible from the `%{text: \"new user joined!\"}` payload being concatenated into the `messages` array on each event.","provider_name":"VizHub AI Studio","provider_url":"https://next.vizhub.com","html":"<iframe src=\"https://next.vizhub.com/viz/gist-abf77af050b7857a7bdd?mode=embed\" width=\"960\" height=\"500\" scrolling=\"no\" frameborder=\"1\"></iframe>","width":960,"height":500,"cache_age":3600}