diff --git a/Dockerfile b/Dockerfile index eba9f48597109ea746d8f894a52f15d38e5fa7ee..09a26ce7a41dc2649b0219c78e0462af338eafe5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -41,7 +41,9 @@ COPY lib ./lib RUN npm run deploy --prefix ./assets && \ npm run deploy --prefix ./tracker && \ mix phx.digest priv/static && \ - mix download_country_database + mix download_country_database && \ +# https://hexdocs.pm/sentry/Sentry.Sources.html#module-source-code-storage + mix sentry_recompile WORKDIR /app COPY rel rel diff --git a/config/runtime.exs b/config/runtime.exs index c9bbb52dac6e436e56c9df37f5d1827764b99c5f..62b92f47177d2154be784081d8bf91407500f657 100644 --- a/config/runtime.exs +++ b/config/runtime.exs @@ -112,7 +112,9 @@ config :sentry, environment_name: env, included_environments: ["prod", "staging"], release: app_version, - tags: %{app_version: app_version} + tags: %{app_version: app_version}, + enable_source_code_context: true, + root_source_code_path: [File.cwd!()] config :plausible, :paddle, vendor_auth_code: paddle_auth_code diff --git a/lib/plausible/application.ex b/lib/plausible/application.ex index 6b2a6b01d0a80bbab6cc0060cead5bddd69a8e9e..423f9383a90e2826aaab297fdf7ef75e583b7cd3 100644 --- a/lib/plausible/application.ex +++ b/lib/plausible/application.ex @@ -21,7 +21,7 @@ defmodule Plausible.Application do ] opts = [strategy: :one_for_one, name: Plausible.Supervisor] - {:ok, _} = Logger.add_backend(Sentry.LoggerBackend) + Logger.add_backend(Sentry.LoggerBackend) setup_cache_stats() Application.put_env(:plausible, :server_start, Timex.now()) Supervisor.start_link(children, opts) diff --git a/lib/plausible_web/endpoint.ex b/lib/plausible_web/endpoint.ex index 8bd1555f9b2b8d78eabea49528cdf2d1af9220c5..31a618fd6f24ce307bf5f7188079cb914e696c51 100644 --- a/lib/plausible_web/endpoint.ex +++ b/lib/plausible_web/endpoint.ex @@ -1,6 +1,6 @@ defmodule PlausibleWeb.Endpoint do - use Phoenix.Endpoint, otp_app: :plausible use Sentry.PlugCapture + use Phoenix.Endpoint, otp_app: :plausible # Serve at "/" the static files from "priv/static" directory. # diff --git a/lib/plausible_web/plugs/auth_plug.ex b/lib/plausible_web/plugs/auth_plug.ex index f4ffda03bd6f8986bc5ed4901e9e17df657923a2..ee116a8f1258e4c8ef2d22989941738ab1450341 100644 --- a/lib/plausible_web/plugs/auth_plug.ex +++ b/lib/plausible_web/plugs/auth_plug.ex @@ -20,7 +20,7 @@ defmodule PlausibleWeb.AuthPlug do ) if user do - Sentry.Context.set_user_context(%{id: user.id, name: user.name}) + Sentry.Context.set_user_context(%{id: user.id, name: user.name, email: user.email}) assign(conn, :current_user, user) else conn diff --git a/mix.exs b/mix.exs index 905e46ce72de5d4638b41d48c28837f5f6dba9f1..122793bc0c109a5a09838fe999eb08921c877e7c 100644 --- a/mix.exs +++ b/mix.exs @@ -102,7 +102,8 @@ defmodule Plausible.MixProject do [ "ecto.setup": ["ecto.create", "ecto.migrate", "run priv/repo/seeds.exs"], "ecto.reset": ["ecto.drop", "ecto.setup"], - test: ["ecto.create --quiet", "ecto.migrate", "test", "clean_clickhouse"] + test: ["ecto.create --quiet", "ecto.migrate", "test", "clean_clickhouse"], + sentry_recompile: ["compile", "deps.compile sentry --force"] ] end end