Commit Graph

46 Commits

Author SHA1 Message Date
Claudio Ortolina 90b3fa1fdc Refactor Records.Cover to Assets.Image 2025-09-20 07:42:38 +03:00
Claudio Ortolina dc77d337c0 Migrate from embedded covers to assets 2025-09-01 16:20:41 +03:00
Claudio Ortolina 07d9db6011 Speed up tests by caching cover data
Suggested and executed by Claude
2025-06-14 21:15:06 +03:00
Claudio Ortolina c5e47cbc8c Display dominant colors from the db 2025-06-07 20:07:23 +01:00
Claudio Ortolina fd997e853f Update artists when refreshing MusicBrainz data 2025-06-04 15:57:25 +01:00
Claudio Ortolina 676c2e4290 Enable quokka with :module_directives rule 2025-05-28 19:41:57 +01:00
Claudio Ortolina ad6e8503ed Add tests around data consistency bg jobs for artist info 2025-04-29 21:05:02 +01:00
Claudio Ortolina 995773f673 Default covers to 2000px 2025-04-14 10:58:21 +01:00
Claudio Ortolina 93f6b260b2 Extract test fixture for release_group_releases 2025-03-01 07:40:00 +00:00
Claudio Ortolina a218942110 Remove mox in favour of built-in Req stubs 2025-02-28 16:41:16 +00:00
Claudio Ortolina 7df136c890 Sort aliases 2025-02-20 15:27:01 +00:00
Claudio Ortolina 94a2784020 Move function in MusicBrainz main module 2025-02-17 22:07:49 +00:00
Claudio Ortolina e218b06350 Rename APIBehaviourMock -> APIMock 2025-02-17 21:41:50 +00:00
Claudio Ortolina 37f72261c3 Extract MusicBrainz main module 2025-02-17 17:30:13 +00:00
Claudio Ortolina 513ce6363f Rename RecordsFixtures -> Fixtures.Records 2025-02-17 16:08:19 +00:00
Claudio Ortolina ea7b5b646a Namespace MusicBrainz fixtures 2025-02-17 16:03:23 +00:00
Claudio Ortolina d077f08afa Start making it more robust
- Use structured data for search/render
- Start testing component
- Start testing domain logic
2025-02-15 18:08:30 +00:00
Claudio Ortolina c46227ecf7 Update MusicBrainz fixtures 2025-02-12 21:52:58 +00:00
Claudio Ortolina 6ad28f1271 When importing a record, stream all its releases 2025-02-05 15:31:08 +00:00
Claudio Ortolina f29dd1f0ab Fetch 100 releases when importing a record
The release group contains only 25 releases, which breaks tracking
scrobble status. Albums like "Toto IV" or "Hounds of Love" end up
looking like they're not part of the collections because the individual
releases are not stored.

Still error prone, because this change doesn't paginate to more than 100
records, but that will be addressed in a future commit.
2025-02-05 10:12:27 +00:00
Claudio Ortolina ed6ef2c7ef Rename record_fixture* to record* 2025-01-06 14:20:36 +00:00
Claudio Ortolina cf377f6a0c Remove unnecessary alias 2025-01-06 14:13:45 +00:00
Claudio Ortolina 6427710029 Enable sorting options in collection view 2024-12-29 15:47:37 +00:00
Claudio Ortolina 53b89dc329 Extract Artists context 2024-12-18 11:12:06 +00:00
Claudio Ortolina 3fbd6ba1bf Use release and release group fixtures with names everywhere 2024-12-14 23:52:09 +03:00
Claudio Ortolina e1dc2bfc7f Make MusicBrainz user agent configurable 2024-12-04 10:44:31 +00:00
Claudio Ortolina 18df3683fc Render a minimal artist page 2024-12-02 17:35:47 +00:00
Claudio Ortolina b63b3a633a Can fetch records by a specific artist 2024-12-02 10:55:12 +00:00
Claudio Ortolina 2e2000fe01 Introduce separate search index
Uses a fts5 virtual table, kept up to date via triggers on the records
table.
2024-11-22 19:37:13 +00:00
Claudio Ortolina 09f3563134 Can refresh cover for a record in the collection 2024-11-19 11:28:50 +00:00
Claudio Ortolina cc1d2e3b0f Increase stored cover size to 600px
Doesn't affect existing covers
2024-11-19 11:28:50 +00:00
Claudio Ortolina 0f97341d5f Add test for refreshing musicbrainz_data 2024-11-19 10:54:17 +00:00
Claudio Ortolina 87cd668a33 Populate release_ids and included_release_groups when record is created 2024-11-18 15:34:16 +00:00
Claudio Ortolina 97c7be7b0c Store release ids when importing a record 2024-11-12 15:01:17 +00:00
Claudio Ortolina 95ce71d9c5 Add test for refreshing a record cover 2024-11-12 10:04:18 +00:00
Claudio Ortolina ae3c754570 Add test for importing a record from a release 2024-11-12 09:54:47 +00:00
Claudio Ortolina c8df700939 Add tests for search and import release groups 2024-11-12 09:48:19 +00:00
Claudio Ortolina 0e0e7e09be Add tests for get_record!/1 and get_cover/1 2024-11-11 19:02:10 +00:00
Claudio Ortolina f4ae1f0fc9 Add tests for Records.search_records_count/2 2024-11-11 14:19:57 +00:00
Claudio Ortolina aba8e6e490 Fix unused variable warning 2024-11-11 12:35:32 +00:00
Claudio Ortolina 0cbece6ed4 Add Records search tests
Important note: to help, we use a deterministic implementation of artist
UUID generation based on the artist name.
2024-11-11 10:28:17 +00:00
Claudio Ortolina 97b04ba8a2 Remove scaffolded test
Doesn't provide any value - should be replaced with proper integration
tests.
2024-10-01 22:39:03 +01:00
Claudio Ortolina bcb70c9e1b Store artists when importing a record 2024-09-24 09:40:52 +01:00
Claudio Ortolina afc1802399 Serve local cover images 2024-09-16 09:50:07 +01:00
Claudio Ortolina 2c42f3ea32 Can parse an obsidian entry to retrieve correct metadata 2024-09-15 20:28:37 +01:00
Claudio Ortolina e08fbe3740 Generate schema and live_view scaffold for records
1. Records are not yet tied to artists
2. The generated edit route, along with related functionality, may be
   deleted as I don't think it's gonna be needed. Leaving it included in
   the commit for reference.
2024-09-12 14:51:58 +01:00