Claudio Ortolina
7cf9b4e7f8
First pass at uniformed types, specs and docs
...
- spec public functions (skipping controllers, views, live views and
components)
- use types instead of explanations in docs
- remove redundant docs
- fix typos
2026-03-06 08:33:11 +00:00
Claudio Ortolina
eb8a00ab54
Replace String.to_integer with safe Integer.parse
...
Use Integer.parse/1 instead of String.to_integer/1 on user-supplied
and external API input to prevent ArgumentError crashes on non-numeric
values. Adds fallback defaults or nil returns at each call site.
2026-03-05 14:27:37 +00:00
Claudio Ortolina
de14ec3e25
Consolidate completely stateless tests into doctests
...
Removing dupes
2026-03-03 11:30:52 +00:00
Claudio Ortolina
c066585cbf
Display ALL catalog numbers
2026-03-02 19:05:09 +00:00
Claudio Ortolina
d770640cd5
Expose release packaging information
2026-03-02 19:00:28 +00:00
Claudio Ortolina
a992c1f0dd
Introduce a Req.RateLimiter module to fix API rate limit issues
2026-03-02 15:04:45 +00:00
Claudio Ortolina
919a42d355
Parameterize API cooldowns
2026-03-01 17:17:32 +00:00
Claudio Ortolina
bc7741d176
Fix parsing of DVD medium format
2026-02-19 10:24:00 +00:00
Claudio Ortolina
3079ebdd02
Remove obsolete Obsidian import logic
2026-02-18 22:08:47 +00:00
Claudio Ortolina
bcae291cff
Support getting artist bios from Wikipedia (experimental)
2026-02-09 15:20:06 +00:00
Claudio Ortolina
14c198c2cc
Select all tracks for a release/medium
2025-11-19 16:32:38 +00:00
Claudio Ortolina
23c36e2521
Extract ExternalLink module
2025-10-02 11:51:44 +03:00
Claudio Ortolina
09a72734b1
Display cover art for releases
2025-09-24 21:51:38 +03:00
Claudio Ortolina
c20e901d21
Show total results inside add record modal
2025-08-27 09:49:18 +03:00
Claudio Ortolina
676c2e4290
Enable quokka with :module_directives rule
2025-05-28 19:41:57 +01:00
Claudio Ortolina
6e19ab410d
Account for VHS and Unknown formats
2025-05-25 10:32:11 +01:00
Claudio Ortolina
b6c554af34
Display rich release summary in form and details
2025-05-25 08:45:38 +01:00
Claudio Ortolina
d666765d18
Include catalog number in selected release label
2025-05-24 19:01:43 +01:00
Claudio Ortolina
3fb0028df6
When fetching releases, include labels
2025-05-24 15:21:24 +01:00
Claudio Ortolina
cd3448cd64
Improve heuristics for extraction of Discogs ID
2025-05-21 22:20:16 +01:00
Claudio Ortolina
051c6195b5
Harden release label display
2025-05-18 20:57:17 +01:00
Claudio Ortolina
cc3cf02490
Show artist MusicBrainz ID (with link and copy button)
2025-05-15 16:59:12 +01:00
Claudio Ortolina
f21a289008
Load release when opening collection show page
...
Includes small fixes to make both logic and tests more robust
2025-05-11 11:04:28 +01:00
Claudio Ortolina
952d3388a1
Scrobble using finished_at time
2025-05-07 10:46:51 +01:00
Claudio Ortolina
a94c349781
Add context function to scrobble a release
2025-05-07 09:07:45 +01:00
Claudio Ortolina
5b23e1d5a5
Add title to MusicBrainz.Release
2025-05-07 09:03:20 +01:00
Claudio Ortolina
79d2bdff7b
Account for tracks with nil length
2025-05-05 16:18:49 +01:00
Claudio Ortolina
e1938f698c
Display medium title if available
2025-05-05 16:18:47 +01:00
Claudio Ortolina
72843ed835
Show total and per disc duration
2025-05-05 16:05:05 +01:00
Claudio Ortolina
1401cc19d3
Display artist names in compilations track sheet
2025-05-04 21:58:44 +01:00
Claudio Ortolina
fba621db10
Include artists in get_release
2025-05-04 21:50:23 +01:00
Claudio Ortolina
f4fe638a95
Display tracks for records with a selected release
2025-05-04 21:10:40 +01:00
Claudio Ortolina
bc213caa45
Store selected release id when scanning a record
2025-05-01 19:36:47 +01:00
Claudio Ortolina
3e7341d4ca
Support choosing a selected release
2025-05-01 17:42:40 +01:00
Claudio Ortolina
e083950138
Rename record.release to record.release_date
...
Includes changes to dependent tables (i.e. the record search index) and
related functions.
2025-05-01 14:04:57 +01:00
Claudio Ortolina
6484f94f38
Account for lack of MusicBrainz artist relations
2025-04-28 20:15:35 +01:00
Claudio Ortolina
ece877086f
Store artist infos
2025-04-26 13:57:43 +01:00
Claudio Ortolina
a5c261d9ad
Can extract discogs id from a musicbrainz artist
2025-04-26 08:13:05 +01:00
Claudio Ortolina
61e9a48b65
Get artist from MusicBrainz
2025-04-25 20:41:25 +01:00
Claudio Ortolina
9f13d090ed
Use more precise types
2025-04-07 19:27:17 +01:00
Claudio Ortolina
a52a980938
Exclude digital releases when searching via barcode
2025-03-22 15:08:13 +00:00
Claudio Ortolina
2f5c83b026
Show album covers when importing/scanning
2025-03-01 17:36:21 +00:00
Claudio Ortolina
a218942110
Remove mox in favour of built-in Req stubs
2025-02-28 16:41:16 +00:00
Claudio Ortolina
8aa283cb84
Refactor MusicBrainz.APIImpl to use Req
2025-02-28 11:19:37 +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
bb6e805e7b
Show release metadata after scanning
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
949fdb7138
Formalize search_release_by_barcode/2 callback
2025-02-15 18:08:30 +00:00
Claudio Ortolina
3c7c9cc596
Scan barcodes and display releases
2025-02-15 18:08:30 +00:00