Claudio Ortolina
f16fc79e60
Add a healthcheck for the backup container
2026-03-30 11:40:20 +01:00
Claudio Ortolina
b3e06ef809
No need to sign request when getting Last.fm profile
2026-03-30 11:04:22 +01:00
Claudio Ortolina
c39202c5eb
Update documentation
2026-03-30 10:59:14 +01:00
Claudio Ortolina
19b7091358
Extend last.fm token diagnostics for maintenance page
2026-03-30 10:55:20 +01:00
Claudio Ortolina
5a71a78392
Space out no results notification
2026-03-30 07:01:22 +01:00
Claudio Ortolina
3bc07c703c
Improve Dockerfile
...
1. Split npm deps from assets copy — package.json + package-lock.json copied and installed before the full
assets/ directory (lines 69-73)
2. Split compile from assets.deploy — separate RUN commands (lines 76-77)
3. Node from image instead of nodesource — node:24-slim stage replaces curl | bash (lines 21, 29-32)
4. --no-install-recommends — on both builder (line 26) and runner (line 90)
5. Strip unused locales — rm -rf /usr/share/locale /usr/share/i18n after locale-gen (line 95)
6. SHELL with strict flags — set in both builder (line 34) and runner (line 97) stages
2026-03-29 23:30:17 +01:00
Claudio Ortolina
76b2ce6eea
Update documentation
2026-03-29 23:11:36 +01:00
Claudio Ortolina
8f8eb0a656
Enable quick actions from universal search
2026-03-29 23:07:53 +01:00
Claudio Ortolina
0483d89fa7
Update mdex 0.11.7 => 0.12.0 (minor)
2026-03-29 17:27:53 +01:00
Claudio Ortolina
bfc6cfd9c1
Handle transport errors in RefreshScrobbles worker
2026-03-29 16:45:38 +01:00
Claudio Ortolina
027f9d1a2d
Can reset Last.fm account from maintenance page
2026-03-29 09:12:53 +01:00
Claudio Ortolina
e2266b452d
Update documentation
2026-03-29 08:56:27 +01:00
Claudio Ortolina
8996ca0eeb
Add empty states for collection and wishlist
2026-03-29 08:53:33 +01:00
Claudio Ortolina
bb1c53c44f
Don't display some stats when there's no record
2026-03-29 08:48:30 +01:00
Claudio Ortolina
2e3f44495f
Add record button when no latest record is present
2026-03-29 08:48:19 +01:00
Claudio Ortolina
0e6760ea73
Fix display of latest record when db is empty
2026-03-29 08:39:13 +01:00
Claudio Ortolina
87b1b4df4b
Replace top_by widgets loading indicator with a skeleton
2026-03-28 21:40:51 +00:00
Claudio Ortolina
06e296b0e4
Expose scrobble rules telemetry
2026-03-28 10:59:50 +00:00
Claudio Ortolina
4db7442ad5
Update architecture docs
2026-03-28 10:26:46 +00:00
Claudio Ortolina
2e22ace7cf
Move RecordsOnThisDayEmail to MusicLibraryWeb namespace
2026-03-28 10:25:03 +00:00
Claudio Ortolina
d2f546b340
Update dependencies
...
typst 0.3.2 => 0.3.3
2026-03-28 10:15:09 +00:00
Claudio Ortolina
b2575eb802
Make sure that list_enabled_rules returns ALL rules
...
Fixes partially working scrobble rule application
2026-03-28 10:07:08 +00:00
Claudio Ortolina
5c5a523fe6
Move scrobble refresh infra to Oban
2026-03-28 09:00:18 +00:00
Claudio Ortolina
d45aff21ec
Rename refresh_lastfm_feed to refresh_scrobbles
2026-03-28 08:59:22 +00:00
Claudio Ortolina
47f8eddff1
Move BackfillScrobbledTracks worker under MusicLibrary namespace
2026-03-28 08:05:02 +00:00
Claudio Ortolina
4e2e0605ed
Update architecture docs for ListeningStats refactor
2026-03-27 23:18:23 +00:00
Claudio Ortolina
fbcf40b4b3
Remove LastFm.Feed, LastFm.Refresh, and LastFm.Supervisor
2026-03-27 23:17:25 +00:00
Claudio Ortolina
61dd3f45c7
Move refresh config and callers to ListeningStats
2026-03-27 23:14:09 +00:00
Claudio Ortolina
fa5e13f303
Add refresh/0 to ListeningStats
2026-03-27 23:08:08 +00:00
Claudio Ortolina
11f080b163
Add ListeningStats.Refresh GenServer
2026-03-27 23:06:05 +00:00
Claudio Ortolina
9643e2141c
Add update/1 and subscribe/0 to ListeningStats
2026-03-27 23:03:23 +00:00
Claudio Ortolina
401e034549
Update dependencies
...
exqlite 0.35.0 => 0.36.0 (minor)
2026-03-27 22:04:31 +00:00
Claudio Ortolina
aeb1e3a39a
Update dependencies
...
phoenix_live_view 1.1.27 => 1.1.28
2026-03-27 19:22:57 +00:00
Claudio Ortolina
88542cc537
Fix Tailwind layout and spacing issues
2026-03-27 16:11:05 +00:00
Claudio Ortolina
96836ae715
Improve tests: better assertions, meaningful tests
...
Track resulting principles in project conventions
2026-03-27 15:46:31 +00:00
Claudio Ortolina
6e96bd019f
Add two project conventions
2026-03-27 08:51:00 +00:00
Claudio Ortolina
1301f888f3
Remove "it" from the test descriptions
2026-03-27 08:38:41 +00:00
Claudio Ortolina
b9e3de1db6
Add music recognition feature design spec
2026-03-27 07:35:59 +00:00
Claudio Ortolina
ba787616e9
Set CI env defaults consistently
2026-03-26 23:09:05 +00:00
Claudio Ortolina
fa20428989
Update documentation
2026-03-26 23:04:53 +00:00
Claudio Ortolina
bf379b9887
Remove unnecessary test
2026-03-26 23:03:42 +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
41f1f72e23
Update rustler_precompiled 0.8.4 => 0.9.0
...
The upgrade surfaces a dependency problem that went unnoticed.
rustler_precompiled version 0.8.4 required castore, and that satisfied
the requirements for time_zone_info (which required the dependency
despite not listing it as such). With the upgrade to rustler_precompiled
0.9.0, castore is no longer listed as a dependency.
As it's still needed by time_zone_info, it's added to mix.exs. This
should have been done before, right when time_zone_info was added.
2026-03-26 20:46:15 +00:00
Claudio Ortolina
3fc4fe4539
Update typefest from 5.4.4 to 5.5.0
2026-03-26 13:01:11 +00:00
Claudio Ortolina
5a40a27585
Update tailwind version in node modules
2026-03-26 13:00:50 +00:00
Claudio Ortolina
f2aaf771c7
Update oban from 2.21.0 to 2.21.1
2026-03-26 13:00:14 +00:00
Claudio Ortolina
f5d3d90043
Use correct fixture for test
2026-03-26 11:55:44 +00:00
Claudio Ortolina
dec564b840
Move test in correct describe block
2026-03-26 11:55:27 +00:00
Claudio Ortolina
88b575ee95
Remove duplicated test
2026-03-26 11:55:05 +00:00