From c831b203177934e33de31da628ec443b0a6848bd Mon Sep 17 00:00:00 2001 From: Claudio Ortolina Date: Wed, 4 Mar 2026 19:39:36 +0000 Subject: [PATCH] Move error tracker notifier files to correct namespace --- config/prod.exs | 2 +- docs/architecture.md | 6 +++--- lib/{music_library => error_tracker}/error_notifier.ex | 4 ++-- .../error_notifier/email.ex | 4 ++-- lib/music_library/application.ex | 2 +- .../error_notifier_test.exs | 4 ++-- 6 files changed, 11 insertions(+), 11 deletions(-) rename lib/{music_library => error_tracker}/error_notifier.ex (97%) rename lib/{music_library => error_tracker}/error_notifier/email.ex (97%) rename test/{music_library => error_tracker}/error_notifier_test.exs (98%) diff --git a/config/prod.exs b/config/prod.exs index 95b59cb8..1f2d3749 100644 --- a/config/prod.exs +++ b/config/prod.exs @@ -15,7 +15,7 @@ config :music_library, monitoring_routes: true config :error_tracker, enabled: true -config :music_library, MusicLibrary.ErrorNotifier, +config :music_library, ErrorTracker.ErrorNotifier, from_email: "postmaster@mailgun.fullyforged.com", to_email: "claudio@fullyforged.com", mailer: MusicLibrary.Mailer, diff --git a/docs/architecture.md b/docs/architecture.md index 5f2c8d13..45734db8 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -27,7 +27,7 @@ Key capabilities: ``` MusicLibrary.Application (one_for_one) -├── MusicLibrary.ErrorNotifier # Telemetry-driven error email notifications +├── ErrorTracker.ErrorNotifier # Telemetry-driven error email notifications ├── MusicLibrary.Vault # Cloak encryption vault ├── MusicLibrary.Repo # Main SQLite repo ├── MusicLibrary.BackgroundRepo # Oban SQLite repo (separate DB) @@ -123,8 +123,8 @@ Last.fm schemas (separate, not Ecto-persisted to main DB): | `RecordChat` | Chat implementation for records (OpenAI streaming, web search enabled) | | `ArtistChat` | Chat implementation for artists (OpenAI streaming, uses Wikipedia/artist context) | | `Country` | Country code (alpha-2, alpha-3, subdivision, IETF) to flag emoji conversion | -| `ErrorNotifier` | GenServer: attaches to ErrorTracker telemetry, throttles repeated errors, dispatches email notifications | -| `ErrorNotifier.Email` | Builds and sends Swoosh error notification emails with stack trace formatting | +| `ErrorTracker.ErrorNotifier` | GenServer: attaches to ErrorTracker telemetry, throttles repeated errors, dispatches email notifications | +| `ErrorTracker.ErrorNotifier.Email` | Builds and sends Swoosh error notification emails with stack trace formatting | | `FormatNumber` | Number formatting utility | --- diff --git a/lib/music_library/error_notifier.ex b/lib/error_tracker/error_notifier.ex similarity index 97% rename from lib/music_library/error_notifier.ex rename to lib/error_tracker/error_notifier.ex index a4d7083c..c1616146 100644 --- a/lib/music_library/error_notifier.ex +++ b/lib/error_tracker/error_notifier.ex @@ -1,10 +1,10 @@ -defmodule MusicLibrary.ErrorNotifier do +defmodule ErrorTracker.ErrorNotifier do @moduledoc false use GenServer require Logger - alias MusicLibrary.ErrorNotifier.Email + alias ErrorTracker.ErrorNotifier.Email @cleanup_interval :timer.minutes(5) diff --git a/lib/music_library/error_notifier/email.ex b/lib/error_tracker/error_notifier/email.ex similarity index 97% rename from lib/music_library/error_notifier/email.ex rename to lib/error_tracker/error_notifier/email.ex index dc614171..60b79f86 100644 --- a/lib/music_library/error_notifier/email.ex +++ b/lib/error_tracker/error_notifier/email.ex @@ -1,4 +1,4 @@ -defmodule MusicLibrary.ErrorNotifier.Email do +defmodule ErrorTracker.ErrorNotifier.Email do @moduledoc false import Swoosh.Email @@ -134,6 +134,6 @@ defmodule MusicLibrary.ErrorNotifier.Email do end defp config do - Application.get_env(:music_library, MusicLibrary.ErrorNotifier, []) + Application.get_env(:music_library, ErrorTracker.ErrorNotifier, []) end end diff --git a/lib/music_library/application.ex b/lib/music_library/application.ex index 053a213f..d7e7a5ac 100644 --- a/lib/music_library/application.ex +++ b/lib/music_library/application.ex @@ -13,7 +13,7 @@ defmodule MusicLibrary.Application do _ = Req.RateLimiter.new() children = [ - MusicLibrary.ErrorNotifier, + ErrorTracker.ErrorNotifier, MusicLibrary.Vault, MusicLibrary.Repo, MusicLibrary.BackgroundRepo, diff --git a/test/music_library/error_notifier_test.exs b/test/error_tracker/error_notifier_test.exs similarity index 98% rename from test/music_library/error_notifier_test.exs rename to test/error_tracker/error_notifier_test.exs index fced4ee1..75a172d7 100644 --- a/test/music_library/error_notifier_test.exs +++ b/test/error_tracker/error_notifier_test.exs @@ -1,9 +1,9 @@ -defmodule MusicLibrary.ErrorNotifierTest do +defmodule ErrorTracker.ErrorNotifierTest do use ExUnit.Case, async: false import Swoosh.TestAssertions - alias MusicLibrary.ErrorNotifier + alias ErrorTracker.ErrorNotifier @config [ from_email: "test@example.com",