Claudio Ortolina
9b019945fb
Increase queue limits
...
Queues are inherently rate-limited by the http APIs, so this change just
reduces waiting/execution times for other non-http operations done
inside the job body.
2026-06-01 08:55:31 +03:00
Claudio Ortolina
4a6c80f7a9
ML-191: avoid VACUUM / scrobble refresh write collision
...
Set busy_timeout: 5_000 on MusicLibrary.Repo so SQLite waits up to
5 seconds on lock contention instead of throwing SQLITE_BUSY
immediately (default is 0).
Move RepoVacuum from 0 3 to 3 3 (3:03 AM London) to avoid the
deterministic collision with RefreshScrobbles which fires on the
every-5-min cadence at the hour mark.
2026-05-19 16:46:37 +01:00
Claudio Ortolina
faafe8792f
Default dev port to 4003
2026-05-19 08:41:39 +01:00
Claudio Ortolina
a51226d68a
Increase retetion of completed oban jobs
2026-05-12 17:07:29 +01:00
Claudio Ortolina
aa95e99377
Update tailwind
...
tailwind:
tailwindcss 4.2.4 => 4.3.0
2026-05-08 22:23:45 +01:00
Claudio Ortolina
afbce40de9
Update dependencies
...
mix:
phoenix 1.8.6 => 1.8.7
Manually port update to filter_parameters now including "token" by default
2026-05-06 12:01:27 +01:00
Claudio Ortolina
0ffc348234
Exclude state and params from production http logs
2026-05-04 15:08:51 +01:00
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