Commit Graph

221 Commits

Author SHA1 Message Date
Claudio Ortolina f1dd45e438 Show country flag for artist 2025-04-29 09:58:06 +01:00
Claudio Ortolina 34069636a0 Add tests for Artists.fetch_artist_info/1 2025-04-28 11:04:45 +01:00
Claudio Ortolina 995773f673 Default covers to 2000px 2025-04-14 10:58:21 +01:00
Claudio Ortolina 3f4e2bc975 Link to Last.fm events from "On Tour" badge 2025-04-11 10:27:45 +01:00
Claudio Ortolina 961530cb51 Add tests for BarcodeScan.Result 2025-04-06 19:54:00 +01:00
Claudio Ortolina 8b846298a7 Make collection ordered by purchase by default 2025-04-04 13:58:25 +01:00
Claudio Ortolina 1f43e1d993 Use JSON instead of Jason where possible
In some places, we need pretty printing so it's not possible to remove
the dependency.
2025-03-23 08:34:25 +00:00
Claudio Ortolina 02dafb1a9f Extend assertions for scrobble activity test
Tests that information actually changes when toggling from albums to
tracks.
2025-03-22 08:31:30 +00:00
Claudio Ortolina 22de7ed85f Default displaying albums in scrobble activity 2025-03-22 08:24:22 +00:00
Claudio Ortolina c3420189f7 Update dependencies
plug 1.16.1 => 1.17.0

Includes fix for `use Plug.Test` deprecation.
2025-03-14 19:20:02 +00:00
Claudio Ortolina 828f1667bf Remove unused LastFm.Feed functions 2025-03-14 11:53:54 +00:00
Claudio Ortolina 0020687f7b Include artist information in all albums feed 2025-03-11 08:48:17 +00:00
Claudio Ortolina ec10447ca0 Extend Last.fm Feed album/artist functions 2025-03-10 17:53:19 +00:00
Claudio Ortolina 3d0eec3bff Add /api/collection endpoint 2025-03-10 11:17:51 +00:00
Claudio Ortolina 91a1141441 Rename Import -> Add, and avoid surfacing MusicBrainz where unneeded 2025-03-07 15:10:22 +00:00
Claudio Ortolina fee2799d50 Show barcodes that are not found inside the results UI
Includes a refactor to extract/cleanup barcode scan logic from the
component to a separate context with a better API.
2025-03-07 11:22:23 +00: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 7ac2f7a815 Remove LastFm.APIBehaviour 2025-02-27 13:43:49 +00:00
Claudio Ortolina 3d11cd585d Use built-in Req stub for LastFm tests 2025-02-27 13:43:49 +00:00
Claudio Ortolina 25567eeb26 Extract trigger_hook/3-4 test helper 2025-02-25 14:03:08 +00:00
Claudio Ortolina 825c00dd50 Add summary to artist 2025-02-23 18:53:28 +00:00
Claudio Ortolina c67d11da0c Show similar artists in artist page
Styling to be defined - only links for now.
2025-02-23 16:56:52 +00:00
Claudio Ortolina 889ba61e4c Extract LastFm module 2025-02-21 16:02:18 +00:00
Claudio Ortolina 7df136c890 Sort aliases 2025-02-20 15:27:01 +00:00
Claudio Ortolina b2daa561d7 Use aliases 2025-02-20 15:27:01 +00:00
Claudio Ortolina 163bbe8902 Add test for importing a record via barcode scan 2025-02-18 20:40:04 +00:00
Claudio Ortolina 324732b5ee Use different fixture for marbles individual release 2025-02-18 20:38:46 +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 ce5c6f1e3c Simplify test_helper logic 2025-02-17 21:39:49 +00:00
Claudio Ortolina 37f72261c3 Extract MusicBrainz main module 2025-02-17 17:30:13 +00:00
Claudio Ortolina 336551e9f8 Namespace Obsidian fixtures 2025-02-17 16:08:19 +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 d27f3ccf72 Namespace Last.Fm fixtures 2025-02-17 15:52:54 +00:00
Claudio Ortolina bb6e805e7b Show release metadata after scanning 2025-02-15 18:08:30 +00:00
Claudio Ortolina 522f80194d Remove visible camera status text 2025-02-15 18:08:30 +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 027b3af547 Rename ReleaseGroup to ReleaseGroupSearchResult 2025-02-10 16:38:04 +00:00
Claudio Ortolina 224bcdba38 Extract MusicbrainzData module 2025-02-10 09:49:34 +00:00
Claudio Ortolina 791807c137 Fix issue with formatting of "" release dates 2025-02-10 09:33:26 +00:00
Claudio Ortolina b42a774936 Remove unused functionality and make functions private 2025-02-09 17:01:00 +00:00
Claudio Ortolina 015863d25e Add missing test for Record.add_musicbrainz_data/2 2025-02-07 20:17:21 +00:00
Claudio Ortolina 9b25556245 Refactor Record.child_release_groups/1 to use stored ids 2025-02-06 21:03:38 +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 acd52978ae Revise naming and notification around purchasing records 2025-02-04 12:11:16 +00:00
Claudio Ortolina f21729ac00 Cache covers for 1 year 2025-01-31 07:43:06 +00:00