• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

supabase / realtime / aec14389d357f4d29d50526837799845c0cbcc7f-PR-1588

27 Oct 2025 01:24PM UTC coverage: 86.784% (+0.5%) from 86.31%
aec14389d357f4d29d50526837799845c0cbcc7f-PR-1588

Pull #1588

github

filipecabaco
pr feedback
Pull Request #1588: feat: limit broadcast payload size

37 of 38 new or added lines in 5 files covered. (97.37%)

4 existing lines in 2 files now uncovered.

2226 of 2565 relevant lines covered (86.78%)

2583.04 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

33.33
/lib/realtime_web/controllers/fallback_controller.ex
1
defmodule RealtimeWeb.FallbackController do
2
  @moduledoc """
3
  Translates controller action results into valid `Plug.Conn` responses.
4

5
  See `Phoenix.Controller.action_fallback/1` for more details.
6
  """
7

8
  use RealtimeWeb, :controller
9
  use Realtime.Logs
10

11
  import RealtimeWeb.ErrorHelpers
12

13
  def call(conn, {:error, :not_found}) do
14
    conn
15
    |> put_status(:not_found)
16
    |> put_view(RealtimeWeb.ErrorView)
17
    |> render("error.json", message: "Not found")
×
18
  end
19

20
  def call(conn, {:error, %Ecto.Changeset{} = changeset}) do
21
    log_error(
3✔
22
      "UnprocessableEntity",
23
      Ecto.Changeset.traverse_errors(changeset, &translate_error/1)
24
    )
25

26
    conn
27
    |> put_status(:unprocessable_entity)
28
    |> put_view(RealtimeWeb.ChangesetView)
29
    |> render("error.json", changeset: changeset)
3✔
30
  end
31

32
  def call(conn, {:error, _}) do
33
    conn
34
    |> put_status(:unauthorized)
35
    |> put_view(RealtimeWeb.ErrorView)
36
    |> render("error.json", message: "Unauthorized")
×
37
  end
38

39
  def call(conn, {:error, status, message}) when is_atom(status) and is_binary(message) do
UNCOV
40
    log_error("UnprocessableEntity", message)
×
41

42
    conn
43
    |> put_status(status)
44
    |> put_view(RealtimeWeb.ErrorView)
UNCOV
45
    |> render("error.json", message: message)
×
46
  end
47

48
  def call(conn, {:error, %Ecto.Changeset{valid?: false} = changeset}) do
49
    log_error(
×
50
      "UnprocessableEntity",
51
      Ecto.Changeset.traverse_errors(changeset, &translate_error/1)
52
    )
53

54
    conn
55
    |> put_status(:unprocessable_entity)
56
    |> put_view(RealtimeWeb.ChangesetView)
57
    |> render("error.json", changeset: changeset)
×
58
  end
59

60
  def call(conn, %Ecto.Changeset{valid?: false} = changeset) do
61
    log_error(
1✔
62
      "UnprocessableEntity",
63
      Ecto.Changeset.traverse_errors(changeset, &translate_error/1)
64
    )
65

66
    conn
67
    |> put_status(:unprocessable_entity)
68
    |> put_view(RealtimeWeb.ChangesetView)
69
    |> render("error.json", changeset: changeset)
1✔
70
  end
71

72
  def call(conn, response) do
73
    log_error("UnknownErrorOnController", response)
×
74

75
    conn
76
    |> put_status(:unprocessable_entity)
77
    |> put_view(RealtimeWeb.ErrorView)
78
    |> render("error.json", message: "Unknown error")
×
79
  end
80
end
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc