Commit Graph

197 Commits

Author SHA1 Message Date
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 570ce4b145 Can count records by genre 2025-02-22 10:34:56 +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 184c110599 Don't use parentheses on 0-arity function definitions 2025-02-20 15:27:01 +00:00
Claudio Ortolina 26297a8bb1 Avoid unnecessary module attributes 2025-02-20 15:08:39 +00:00
Claudio Ortolina ab2d1726bf Use Application.app_dir/2 instead of :code.priv_dir 2025-02-20 15:04:29 +00:00
Claudio Ortolina ce75b42d06 Show record status when scanning
For now it only imports new records - it should also purchase wishlisted
ones.
2025-02-19 10:21:44 +00:00
Claudio Ortolina 17a1e87be5 Fix 'variable name before the pattern' consistency issue 2025-02-18 12:41:10 +00:00
Claudio Ortolina 50b025efca Refactor with to avoid internal assignments 2025-02-18 12:38:29 +00:00
Claudio Ortolina 025a5105ed Use map_join instead of map+join 2025-02-18 10:14:31 +00:00
Claudio Ortolina 94a2784020 Move function in MusicBrainz main module 2025-02-17 22:07:49 +00:00
Claudio Ortolina 37f72261c3 Extract MusicBrainz main module 2025-02-17 17:30:13 +00:00
Claudio Ortolina 6d0eeccbb7 Add TODOs for moving logic to MusicBrainz context 2025-02-17 08:47:59 +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 3c7c9cc596 Scan barcodes and display releases 2025-02-15 18:08:30 +00:00
Claudio Ortolina c85e66f129 Bubble up errors when streaming releases 2025-02-12 22:43:40 +00:00
Claudio Ortolina 4e77894783 Slow down batch refresh of metadata 2025-02-12 22:31:09 +00:00
Claudio Ortolina 219d39de00 Use correct method to batch refresh musicbrainz data 2025-02-12 21:55:28 +00:00
Claudio Ortolina 1ae77b512e Make released?/2 handle nil releases 2025-02-11 20:14:30 +00:00
Claudio Ortolina f8147a6f52 Do not require a record release date 2025-02-11 20:05:54 +00:00
Claudio Ortolina 86db563bd4 Rename MusicbrainzData -> ReleaseGroup 2025-02-10 16:41:21 +00:00
Claudio Ortolina 027b3af547 Rename ReleaseGroup to ReleaseGroupSearchResult 2025-02-10 16:38:04 +00:00
Claudio Ortolina f99a55fca7 Simplify included release groups logic
This makes the code slightly less efficient as it constructs
intermediate structures BEFORE filtering, but it makes it for simpler
code to maintain down the line.

Performance is not visible affected as the largest lists involved count
around 200 items.
2025-02-10 09:59:25 +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 d39129e7ff Reorder module functions roughly by topic/usage 2025-02-09 17:02:54 +00:00
Claudio Ortolina b42a774936 Remove unused functionality and make functions private 2025-02-09 17:01:00 +00:00
Claudio Ortolina be1de52984 Refactor Records.Record for simplification
- Remove unnecessary intermediate variables
- Remove unnecessary pipes
2025-02-09 08:33:00 +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 b80a98a881 Included published releases count in record details pages 2025-02-06 11:37:55 +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 cd4ad66098 Define MusicLibrary.Repo.vacuum/0 2025-01-30 09:29:17 +00:00
Claudio Ortolina 0d0350a514 Reuse Artist schema inside SearchIndex 2025-01-29 15:41:46 +00:00
Claudio Ortolina 9c3acd0fcf Remove duplication of types and formats definitions 2025-01-29 15:39:29 +00:00
Claudio Ortolina 9e1f00c9a8 Refactor type/format labels to enable translations 2025-01-29 11:04:19 +00:00
Claudio Ortolina 96bd453900 When not possible to determine otherwise, assums a record has been released 2025-01-29 10:21:41 +00:00
Claudio Ortolina 06f1997d59 Show if a wishlisted album is unreleased 2025-01-29 10:13:39 +00:00
Claudio Ortolina a0c06606fb Validate before constructing a complete record 2025-01-24 14:29:38 +00:00
Claudio Ortolina 38f7bf70bf Extract artist_changeset/2 to Artist module 2025-01-24 14:28:52 +00:00
Claudio Ortolina abc48cfdf3 Move fallback cover handling into Cover module 2025-01-24 12:48:03 +00:00
Claudio Ortolina 01ed11c0ab Use labels for selects in record edit form 2025-01-24 12:22:29 +00:00
Claudio Ortolina eeaaf8b542 Move ErrorTracker to its own repo and file
Note that the SQlite adapter supports version 2 onwards.
2025-01-23 10:40:36 +00:00
Claudio Ortolina 9428828064 Consolidate datetime as date formatting 2025-01-05 15:48:56 +00:00
Claudio Ortolina bb4da4143e Add "backup" format 2025-01-03 19:16:43 +00:00
Claudio Ortolina d194a54760 Adds API to return a random record from the collection 2025-01-01 19:28:49 +00:00
Claudio Ortolina 8bd7197d18 Show purchase date in collection view 2025-01-01 16:45:43 +00:00
Claudio Ortolina 6a9d54f735 Link to wishlisted albums in scrobble activity 2025-01-01 16:15:02 +00:00
Claudio Ortolina 5973206da3 Link to collected albums in scrobble activity 2025-01-01 16:11:14 +00:00