Skip to content

Commit

Permalink
Pass payload in joined_channels metadata
Browse files Browse the repository at this point in the history
  • Loading branch information
studzien committed Feb 16, 2024
1 parent fd0b31b commit bf33919
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions lib/phoenix/socket.ex
Original file line number Diff line number Diff line change
Expand Up @@ -676,7 +676,8 @@ defmodule Phoenix.Socket do
state = put_channel(state, pid, topic, join_ref)

num_channels = map_size(state.channels)
metadata = %{assigns: socket.assigns, topic: topic, operation: :join}
payload = Map.get(message, :payload, %{})
metadata = %{assigns: socket.assigns, topic: topic, operation: :join, payload: payload}
:telemetry.execute([:phoenix, :socket, :joined_channels], %{total: num_channels}, metadata)
{:reply, :ok, encode_reply(socket, reply), {state, socket}}

Expand Down Expand Up @@ -724,9 +725,12 @@ defmodule Phoenix.Socket do
# we need to match on nil to handle v1 protocol
%{^pid => {^topic, existing_join_ref}} when existing_join_ref in [join_ref, nil] ->
send(pid, msg)
metadata = %{assigns: socket.assigns, topic: topic, operation: :leave}

payload = Map.get(msg, :payload, %{})
metadata = %{assigns: socket.assigns, topic: topic, operation: :leave, payload: payload}
state = update_channel_status(state, pid, topic, :leaving)
num_channels = map_size(state.channels)

:telemetry.execute([:phoenix, :socket, :joined_channels], %{total: num_channels}, metadata)
{:ok, {state, socket}}

Expand Down

0 comments on commit bf33919

Please sign in to comment.