From f23bb584149dd93c2f8443e9568f415149205df4 Mon Sep 17 00:00:00 2001 From: Claudio Ortolina Date: Thu, 26 Feb 2026 10:59:45 +0000 Subject: [PATCH] Revert "EXP: update to Sentry 12.0" This reverts commit 657d82b021d8ed5dc4497c987e31186040ec0ba1. --- config/config.exs | 3 +-- lib/sentry/finch_client.ex | 25 +++++++++++++++++++++++++ mix.exs | 5 ++--- mix.lock | 2 +- 4 files changed, 29 insertions(+), 6 deletions(-) create mode 100644 lib/sentry/finch_client.ex diff --git a/config/config.exs b/config/config.exs index c014525b..27b553bf 100644 --- a/config/config.exs +++ b/config/config.exs @@ -127,8 +127,7 @@ config :music_library, MusicLibrary.BackgroundRepo, priv: "priv/background_repo" config :fluxon, :translate_function, &MusicLibraryWeb.CoreComponents.translate_error/1 config :sentry, - # client: Sentry.FinchClient, - enable_logs: true, + client: Sentry.FinchClient, environment_name: config_env(), enable_source_code_context: true, root_source_code_paths: [File.cwd!()] diff --git a/lib/sentry/finch_client.ex b/lib/sentry/finch_client.ex new file mode 100644 index 00000000..ae81c0a6 --- /dev/null +++ b/lib/sentry/finch_client.ex @@ -0,0 +1,25 @@ +defmodule Sentry.FinchClient do + @moduledoc """ + Defines a small shim to use `Finch` as a `Sentry.HTTPClient`. + """ + + @behaviour Sentry.HTTPClient + + @impl true + def child_spec do + Finch.child_spec(name: Sentry.Finch) + end + + @impl true + def post(url, headers, body) do + request = Finch.build(:post, url, headers, body) + + case Finch.request(request, Sentry.Finch) do + {:ok, response} -> + {:ok, response.status, response.headers, response.body} + + error -> + error + end + end +end diff --git a/mix.exs b/mix.exs index cc6e8626..6db192ee 100644 --- a/mix.exs +++ b/mix.exs @@ -87,8 +87,7 @@ defmodule MusicLibrary.MixProject do {:tidewave, "~> 0.5", only: :dev}, # HTTP Clients - # Override is needed due to Sentry locking to an older version - {:finch, "~> 0.21.0", override: true}, + {:finch, "~> 0.21.0"}, {:req, "~> 0.5.8"}, # Parsing @@ -115,7 +114,7 @@ defmodule MusicLibrary.MixProject do {:lazy_html, ">= 0.1.0", only: :test}, # Prod error/perf tooling - {:sentry, "~> 12.0"}, + {:sentry, "~> 11.0"}, {:phoenix_live_dashboard, "~> 0.8.3"}, {:recon, "~> 2.5"}, {:telemetry_metrics, "~> 1.0"}, diff --git a/mix.lock b/mix.lock index 7e9c45c6..0477fd47 100644 --- a/mix.lock +++ b/mix.lock @@ -58,7 +58,7 @@ "recon": {:hex, :recon, "2.5.6", "9052588e83bfedfd9b72e1034532aee2a5369d9d9343b61aeb7fbce761010741", [:mix, :rebar3], [], "hexpm", "96c6799792d735cc0f0fd0f86267e9d351e63339cbe03df9d162010cefc26bb0"}, "req": {:hex, :req, "0.5.17", "0096ddd5b0ed6f576a03dde4b158a0c727215b15d2795e59e0916c6971066ede", [:mix], [{:brotli, "~> 0.3.1", [hex: :brotli, repo: "hexpm", optional: true]}, {:ezstd, "~> 1.0", [hex: :ezstd, repo: "hexpm", optional: true]}, {:finch, "~> 0.17", [hex: :finch, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mime, "~> 2.0.6 or ~> 2.1", [hex: :mime, repo: "hexpm", optional: false]}, {:nimble_csv, "~> 1.0", [hex: :nimble_csv, repo: "hexpm", optional: true]}, {:plug, "~> 1.0", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "0b8bc6ffdfebbc07968e59d3ff96d52f2202d0536f10fef4dc11dc02a2a43e39"}, "rewrite": {:hex, :rewrite, "1.2.0", "80220eb14010e175b67c939397e1a8cdaa2c32db6e2e0a9d5e23e45c0414ce21", [:mix], [{:glob_ex, "~> 0.1", [hex: :glob_ex, repo: "hexpm", optional: false]}, {:sourceror, "~> 1.0", [hex: :sourceror, repo: "hexpm", optional: false]}, {:text_diff, "~> 0.1", [hex: :text_diff, repo: "hexpm", optional: false]}], "hexpm", "a1cd702bbb9d51613ab21091f04a386d750fc6f4516b81900df082d78b2d8c50"}, - "sentry": {:hex, :sentry, "12.0.0", "03d2f5f6f444064243f6e681bc4270ee0775589954a1d0134abed6fc667cf14e", [:mix], [{:finch, "~> 0.19.0", [hex: :finch, repo: "hexpm", optional: true]}, {:hackney, "~> 1.8", [hex: :hackney, repo: "hexpm", optional: true]}, {:igniter, "~> 0.5", [hex: :igniter, repo: "hexpm", optional: true]}, {:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: true]}, {:nimble_options, "~> 1.0", [hex: :nimble_options, repo: "hexpm", optional: false]}, {:nimble_ownership, "~> 0.3.0 or ~> 1.0", [hex: :nimble_ownership, repo: "hexpm", optional: false]}, {:opentelemetry, ">= 0.0.0", [hex: :opentelemetry, repo: "hexpm", optional: true]}, {:opentelemetry_api, ">= 0.0.0", [hex: :opentelemetry_api, repo: "hexpm", optional: true]}, {:opentelemetry_exporter, ">= 0.0.0", [hex: :opentelemetry_exporter, repo: "hexpm", optional: true]}, {:opentelemetry_semantic_conventions, ">= 0.0.0", [hex: :opentelemetry_semantic_conventions, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.6", [hex: :phoenix, repo: "hexpm", optional: true]}, {:phoenix_live_view, "~> 0.20 or ~> 1.0", [hex: :phoenix_live_view, repo: "hexpm", optional: true]}, {:plug, "~> 1.6", [hex: :plug, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: true]}], "hexpm", "c1c0d5eff89a511308a829a48267da01741940ca75438273f3585e9d777c35b8"}, + "sentry": {:hex, :sentry, "11.0.4", "60371c96cefd247e0fc98840bba2648f64f19aa0b8db8e938f5a98421f55b619", [:mix], [{:hackney, "~> 1.8", [hex: :hackney, repo: "hexpm", optional: true]}, {:igniter, "~> 0.5", [hex: :igniter, repo: "hexpm", optional: true]}, {:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: true]}, {:nimble_options, "~> 1.0", [hex: :nimble_options, repo: "hexpm", optional: false]}, {:nimble_ownership, "~> 0.3.0 or ~> 1.0", [hex: :nimble_ownership, repo: "hexpm", optional: false]}, {:opentelemetry, ">= 0.0.0", [hex: :opentelemetry, repo: "hexpm", optional: true]}, {:opentelemetry_api, ">= 0.0.0", [hex: :opentelemetry_api, repo: "hexpm", optional: true]}, {:opentelemetry_exporter, ">= 0.0.0", [hex: :opentelemetry_exporter, repo: "hexpm", optional: true]}, {:opentelemetry_semantic_conventions, ">= 0.0.0", [hex: :opentelemetry_semantic_conventions, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.6", [hex: :phoenix, repo: "hexpm", optional: true]}, {:phoenix_live_view, "~> 0.20 or ~> 1.0", [hex: :phoenix_live_view, repo: "hexpm", optional: true]}, {:plug, "~> 1.6", [hex: :plug, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: true]}], "hexpm", "feaafc284dc204c82aadaddc884227aeaa3480decb274d30e184b9d41a700c66"}, "sourceror": {:hex, :sourceror, "1.11.0", "df2cdaffdc323e804009ff50b50bb31e6f2d6e116d936ccf22981f592594d624", [:mix], [], "hexpm", "6e26f572bdfc21d7ad397f596b4cfbbf31d7112126fe3e902c120947073231a8"}, "spitfire": {:hex, :spitfire, "0.3.7", "d6051f94f554d33d038ab3c1d7e017293ae30429cc6b267b08cb6ad69e35e9a3", [:mix], [], "hexpm", "798ff97db02477b05fa3db8e2810cebda6ed5d90c6de6b21aa65abd577599744"}, "statistex": {:hex, :statistex, "1.1.0", "7fec1eb2f580a0d2c1a05ed27396a084ab064a40cfc84246dbfb0c72a5c761e5", [:mix], [], "hexpm", "f5950ea26ad43246ba2cce54324ac394a4e7408fdcf98b8e230f503a0cba9cf5"},