Skip to content

Commit e4ee7c8

Browse files
authored
fix: specify that only private channels are allowed when replaying (#1543)
messages
1 parent 54cd3f7 commit e4ee7c8

File tree

3 files changed

+6
-3
lines changed

3 files changed

+6
-3
lines changed

lib/realtime_web/channels/realtime_channel.ex

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,9 @@ defmodule RealtimeWeb.RealtimeChannel do
213213
{:error, :invalid_replay_params} ->
214214
log_error(socket, "UnableToReplayMessages", "Replay params are not valid")
215215

216+
{:error, :invalid_replay_channel} ->
217+
log_error(socket, "UnableToReplayMessages", "Replay is not allowed for public channels")
218+
216219
{:error, error} ->
217220
log_error(socket, "UnknownErrorOnChannel", error)
218221
{:error, %{reason: "Unknown Error on Channel"}}
@@ -790,7 +793,7 @@ defmodule RealtimeWeb.RealtimeChannel do
790793
end
791794

792795
defp maybe_replay_messages(%{"broadcast" => %{"replay" => _}}, _sub_topic, _db_conn, false = _private?) do
793-
{:error, :invalid_replay_params}
796+
{:error, :invalid_replay_channel}
794797
end
795798

796799
defp maybe_replay_messages(%{"broadcast" => %{"replay" => replay_params}}, sub_topic, db_conn, true = _private?)

mix.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ defmodule Realtime.MixProject do
44
def project do
55
[
66
app: :realtime,
7-
version: "2.51.3",
7+
version: "2.51.4",
88
elixir: "~> 1.17.3",
99
elixirc_paths: elixirc_paths(Mix.env()),
1010
start_permanent: Mix.env() == :prod,

test/realtime_web/channels/realtime_channel_test.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ defmodule RealtimeWeb.RealtimeChannelTest do
153153

154154
assert {
155155
:error,
156-
%{reason: "UnableToReplayMessages: Replay params are not valid"}
156+
%{reason: "UnableToReplayMessages: Replay is not allowed for public channels"}
157157
} = subscribe_and_join(socket, "realtime:test", %{"config" => config})
158158

159159
refute_receive _any

0 commit comments

Comments
 (0)