Claudio Ortolina
7c6760d7db
ML-158: force single-line log output in production
...
Three-layer architecture:
- Logster v2 handles HTTP request and LiveView socket telemetry in logfmt format
- Custom formatter as safety net escaping any remaining embedded newlines
- Config flag (single_line_logging) gating Logster attachment to prod only
Dev environment retains multi-line format for readability.
2026-05-04 15:01:10 +01:00
Claudio Ortolina
08fcd70a8c
ML-154: add early platform detection for SQLite extensions
2026-04-30 13:39:39 +01:00
Claudio Ortolina
252caf31ce
ML-11: Improve performance of Telemetry.Storage with in-memory buffer
2026-04-24 10:30:28 +01:00
Claudio Ortolina
007f59b0c3
Update tailwind from 4.2.3 to 4.2.4
2026-04-21 14:16:46 +01:00
Claudio Ortolina
56983c3e2c
Update tailwind from 4.2.2 to 4.2.3
2026-04-20 22:47:38 +01:00
Claudio Ortolina
7b5b7e68dd
Harden OpenAI api layer
...
- Support rate limiting
- Add proper error handling (don't rely on exceptions)
Closes #147
2026-04-05 16:01:29 +01:00
Claudio Ortolina
64c546a8af
Update esbuild from 0.27.7 to 0.28.0
2026-04-02 22:01:35 +01:00
Claudio Ortolina
edd38eb5f2
Revert "Reduce repo cache size"
...
This reverts commit b3af5be00d .
2026-04-02 19:31:55 +01:00
Claudio Ortolina
1f86c704c5
Update esbuild from 0.27.5 to 0.27.7
2026-04-02 18:36:27 +01:00
Claudio Ortolina
851bbd54af
Setup swoosh sandbox
2026-04-02 15:26:15 +01:00
Claudio Ortolina
b3af5be00d
Reduce repo cache size
...
As assets are self-contained in their own table, and shielded with heavy
CDN + in-memory caching, there's no point in keeping a very large cache.
2026-04-02 10:40:03 +01:00
Claudio Ortolina
4cf9ff01a4
Update esbuild from 0.27.4 to 0.27.5
2026-04-02 06:52:42 +01:00
Claudio Ortolina
320a131370
Increase cooldown for Discogs requests
2026-04-01 09:30:39 +01:00
Claudio Ortolina
f2def32571
Increase MusicBrainz api_cooldown to 1000ms
2026-04-01 06:44:37 +01:00
Claudio Ortolina
2e22ace7cf
Move RecordsOnThisDayEmail to MusicLibraryWeb namespace
2026-03-28 10:25:03 +00:00
Claudio Ortolina
5c5a523fe6
Move scrobble refresh infra to Oban
2026-03-28 09:00:18 +00:00
Claudio Ortolina
61dd3f45c7
Move refresh config and callers to ListeningStats
2026-03-27 23:14:09 +00:00
Claudio Ortolina
e575f2af9e
Stub color extractor in tests
...
Makes the test suite much faster
2026-03-26 22:58:39 +00:00
Claudio Ortolina
152b3ddb70
Tweak test database settings for speed
2026-03-26 22:30:09 +00:00
Claudio Ortolina
0295e58e57
Add rate limiting to Wikipedia and BraveSearch APIs
...
Closes #133
2026-03-25 11:38:17 +00:00
Claudio Ortolina
84fa313638
Removes unused config/litestream.yml
2026-03-23 08:06:51 +00:00
Claudio Ortolina
b215d23ff1
Increase parallelism and tolerance for tests (CI particularly)
2026-03-22 08:11:15 +00:00
Claudio Ortolina
bf9113f531
Reduce Litestream backup frequency to daily
2026-03-21 07:53:02 +00:00
Claudio Ortolina
a47ec1dfdd
Increase metrics buffer size
2026-03-21 07:44:12 +00:00
Claudio Ortolina
55f7d7f2e2
Try and setup litestream for S3 backups
2026-03-20 23:04:09 +00:00
Claudio Ortolina
86584845de
Update tailwind to 4.2.2
2026-03-18 16:41:29 +00:00
Claudio Ortolina
0f0d90d84e
Increase busy_timeout in test to avoid intermittent failures on CI
...
Running ExUnit with seed: 849711, max_cases: 4
........................................................................................................................................................................................................................................................................................................................................................................................................................................................
1) test count_record_sets/0 and count_record_sets/1 returns total count (MusicLibrary.RecordSetsTest)
Error: test/music_library/record_sets_test.exs:97
** (Exqlite.Error) Database busy
INSERT INTO "record_sets" ("name","description","inserted_at","updated_at","id") VALUES (?1,?2,?3,?4,?5)
code: record_set(%{name: "One"})
stacktrace:
(ecto_sql 3.13.5) lib/ecto/adapters/sql.ex:1113: Ecto.Adapters.SQL.raise_sql_call_error/1
(ecto 3.13.5) lib/ecto/repo/schema.ex:1000: Ecto.Repo.Schema.apply/4
(ecto 3.13.5) lib/ecto/repo/schema.ex:500: anonymous fn/15 in Ecto.Repo.Schema.do_insert/4
(music_library 0.1.0) lib/music_library/record_sets.ex:71: MusicLibrary.RecordSets.create_record_set/1
(music_library 0.1.0) test/support/fixtures/music_library/record_sets.ex:16: MusicLibrary.Fixtures.RecordSets.record_set/1
test/music_library/record_sets_test.exs💯 (test)
................................................................................................................................
Finished in 25.5 seconds (3.4s async, 22.1s sync)
37 doctests, 532 tests, 1 failure
2026-03-17 14:02:57 +00:00
Claudio Ortolina
490a3a562f
Add Oban operational maintenance configuration
2026-03-17 11:53:12 +00:00
Claudio Ortolina
cb5c9b0d5a
Enable incremental vacuum for accessory repos
2026-03-13 16:23:56 +00:00
Claudio Ortolina
bba1b1eabc
Remove redundant configuration (identical to defaults)
2026-03-13 16:22:58 +00:00
Claudio Ortolina
d269b72838
Update esbuild to 0.27.4
2026-03-12 18:55:20 +00:00
Claudio Ortolina
f42c449213
Update two frontend asset directives to conform with Phoenix 1.8.5
2026-03-11 15:43:37 +00:00
Claudio Ortolina
20b497bbb8
Don't track route not found errors
2026-03-10 20:05:27 +00:00
Claudio Ortolina
d3e1ecd10b
Remove Sobelow TODOs
2026-03-07 18:39:38 +00:00
Claudio Ortolina
2b09611fe9
Mark TODOs to change secrets in base configuration
2026-03-07 18:17:27 +00:00
Claudio Ortolina
6c2036ff7d
Make excluded genres configurable
2026-03-06 09:45:42 +00:00
Claudio Ortolina
99e30d5fdf
Send the records on this day email at 7am
2026-03-06 08:05:36 +00:00
Claudio Ortolina
06aaa35628
Increase buffer size for Telemetry Storage
2026-03-05 22:55:09 +00:00
Claudio Ortolina
f109057be5
Persist telemetry data in local sqlite database
2026-03-05 13:39:38 +00:00
Claudio Ortolina
478832249b
Send record of the day email
2026-03-05 10:37:04 +00:00
Claudio Ortolina
c831b20317
Move error tracker notifier files to correct namespace
2026-03-04 19:39:36 +00:00
Claudio Ortolina
ad9bcd8481
Inline error tracker notification code
...
As we don't need the Discord functionality which brings quite a lot of
extra libraries/code
2026-03-04 17:19:14 +00:00
Claudio Ortolina
ed1dd2b440
Mount error tracker notifier
2026-03-04 15:55:32 +00:00
Claudio Ortolina
1c04eea88f
Install and configure Swoosh with Mailgun
2026-03-04 15:52:17 +00:00
Claudio Ortolina
99674eb8bc
Refactor and add tests for OpenAI namespace
2026-03-02 14:11:51 +00:00
Claudio Ortolina
a95648c25d
Support running parallelized test suites
2026-03-02 10:51:59 +00:00
Claudio Ortolina
919a42d355
Parameterize API cooldowns
2026-03-01 17:17:32 +00:00
Claudio Ortolina
50da389bf9
Run Oban cron jobs only on prod
2026-03-01 16:00:06 +00:00
Claudio Ortolina
6836cf5c9e
Integrate refresh of Last.fm data (both per artist and batch)
2026-03-01 09:46:27 +00:00
Claudio Ortolina
1b934537ea
Remove Sentry and Honeybadger
2026-02-26 21:52:57 +00:00