Commit Graph

367 Commits

Author SHA1 Message Date
Claudio Ortolina 61aeef4de1 Fix top artists and top album counts
Before, each track count would be multiplied by the number of collected
records. Not a problem when there's just one, but if I have more than
one then it would get weird quickly.
2025-10-07 15:56:17 +03:00
Claudio Ortolina ac750d8a91 Refactor essential_fields via search index 2025-10-06 13:48:01 +03:00
Claudio Ortolina 57dfd3d33d Remove ErrorTracker
Doesn't work with recent LiveView releases, and seems to be maintained
very slowly despite incoming PRs to fix the issues.
2025-10-03 10:15:23 +03:00
Claudio Ortolina 23c36e2521 Extract ExternalLink module 2025-10-02 11:51:44 +03:00
Claudio Ortolina d1efc90925 Extract favicon_url to CoreComponents 2025-10-02 11:48:19 +03:00
Claudio Ortolina b6f47fd986 Move external links definition to context 2025-10-02 09:02:13 +03:00
Claudio Ortolina 21997d5e14 Refactor Favicon out 2025-10-02 09:00:11 +03:00
Claudio Ortolina 9b8d8c7fdf Show artist external links 2025-10-02 08:55:45 +03:00
Claudio Ortolina 4c33d3f0aa Enable Sentry 2025-10-01 13:48:30 +03:00
Claudio Ortolina 621fe385e3 Show record status markers in scrobbled tracks index 2025-09-29 11:04:35 +03:00
Claudio Ortolina 5f5b66d037 Add telemetry for scrobble rule application 2025-09-28 08:25:01 +03:00
Claudio Ortolina 36bc9266b3 Extract queries 2025-09-26 15:32:50 +03:00
Claudio Ortolina cc84c3a429 Remove unused functions 2025-09-26 15:26:44 +03:00
Claudio Ortolina aca5c80e4d Resolve all data in one query in top albums 2025-09-26 15:21:42 +03:00
Claudio Ortolina 08bf53910b Resolve all data in one query in Scrobble Activity
Aim is to avoid having to do this in multiple rounds with in-memory
operations which are harder to follow
2025-09-26 15:21:27 +03:00
Claudio Ortolina c3a0819248 Stabilize order of records on this day 2025-09-26 11:33:34 +03:00
Claudio Ortolina 03a57823dc Add stats for last 7 days 2025-09-23 16:01:35 +03:00
Claudio Ortolina f5c60d2cd1 Tighten notes content logic
- Notes can have empty content (no harm)
- Always default to "" instead of nil
2025-09-23 08:45:51 +03:00
Claudio Ortolina 4e24bfe966 Populate genres via Oban with generous retries
This is due to OpenAI erroring or timing out incredibly frequently.
2025-09-22 08:22:36 +03:00
Claudio Ortolina a3f2c75f69 Remove dns_cluster 2025-09-20 12:56:05 +03:00
Claudio Ortolina 6853299865 Show application version in console banner 2025-09-20 10:44:18 +03:00
Claudio Ortolina dd09fb907b Track both content and cache size 2025-09-20 09:49:06 +03:00
Claudio Ortolina 68a2159d7d Track total assets cache size in Live Dashboard 2025-09-20 08:24:15 +03:00
Claudio Ortolina a1b5842148 Prune asset cache every 12 hours 2025-09-20 08:17:16 +03:00
Claudio Ortolina 772de1751e Track asset cache inserted_at 2025-09-20 08:05:30 +03:00
Claudio Ortolina 90b3fa1fdc Refactor Records.Cover to Assets.Image 2025-09-20 07:42:38 +03:00
Claudio Ortolina c5d856fdd8 Add Transform.new/1 2025-09-19 23:58:09 +03:00
Claudio Ortolina 932289ed3b Extract artist_image component 2025-09-19 13:52:59 +03:00
Claudio Ortolina f57424d610 Store and edit artist images as assets 2025-09-18 21:26:26 +03:00
Claudio Ortolina 83151a125b Remove unused artist functionality 2025-09-18 21:26:26 +03:00
Claudio Ortolina 455c3a8b53 Serve artist images via assets 2025-09-18 21:26:20 +03:00
Claudio Ortolina e0ecafadd5 Join top artists with respective artist infos to get image hashes 2025-09-18 21:26:16 +03:00
Claudio Ortolina aa72692eaf Cache transformations 2025-09-17 16:54:47 +03:00
Claudio Ortolina 0996b78c7b Use Transforms to serve covers at the right size 2025-09-17 10:26:38 +03:00
Claudio Ortolina dc9c8fca8e Add Asset.Transform module
Allows building URLs with embedded transformation options
2025-09-17 09:33:13 +03:00
Claudio Ortolina 2cb9c9288c Add bin task to vacuum the repo 2025-09-16 13:48:29 +03:00
Claudio Ortolina dae334b1b7 Scrobbled tracks CRUD
- Failing tests
- Warnings
2025-09-16 12:45:36 +03:00
Claudio Ortolina 46721dae20 Rename sqlite extensions folder from darwin-aarch64 to darwin-arm64 2025-09-13 12:10:39 +03:00
Claudio Ortolina d865a61ef9 Make sure escaping works consistently everywhere (including with ?)
Remove duplication
2025-09-13 10:25:21 +03:00
Claudio Ortolina 1e211ce32a Simplify by removing search parser escape 2025-09-13 08:28:57 +03:00
Claudio Ortolina 62578de950 Pass one from Tidewave 2025-09-13 08:25:08 +03:00
Claudio Ortolina 21783f5dbf Resolve timezone from user browser 2025-09-11 22:14:15 +03:00
Claudio Ortolina c67fd27ea1 Fix timezone definition and handling across app 2025-09-11 16:17:20 +03:00
Claudio Ortolina ea9f8ca9a3 Remove record notes 2025-09-07 15:07:01 +03:00
Claudio Ortolina 824517dcba Add MusicLibrary.Notes contex functions 2025-09-07 12:22:16 +03:00
Claudio Ortolina 55ab648b1c Add MusicLibrary.Notes.Note 2025-09-07 09:24:19 +03:00
Claudio Ortolina f5ac213d65 Start supporting Linux on arm 2025-09-06 13:26:40 +03:00
Claudio Ortolina 45134d3f96 Add notes field to records 2025-09-05 14:53:06 +03:00
Claudio Ortolina 408899747e Add module to format numbers 2025-09-02 08:26:59 +03:00
Claudio Ortolina a4670412df Add total scrobble count to stats 2025-09-02 08:17:42 +03:00