Claudio Ortolina
a992c1f0dd
Introduce a Req.RateLimiter module to fix API rate limit issues
2026-03-02 15:04:45 +00:00
Claudio Ortolina
99674eb8bc
Refactor and add tests for OpenAI namespace
2026-03-02 14:11:51 +00:00
Claudio Ortolina
a0df11d26f
Use new style for MB link and copy button in artist page
2026-03-01 20:19:46 +00:00
Claudio Ortolina
854e293902
Add large battery of tests, primarily workers
2026-03-01 17:03:36 +00:00
Claudio Ortolina
84323e5732
Capture logs to avoid useless test log noise
2026-03-01 08:56:42 +00:00
Claudio Ortolina
b35f4aed1d
EXP: enrich artist info data via Last.fm and produce better embeddings
2026-03-01 08:22:35 +00:00
Claudio Ortolina
871f4b3554
Extract ListeningStats out of ScrobbleActivity
2026-02-27 12:16:38 +00:00
Claudio Ortolina
bfbb74d601
BETA: new layout for record details page
2026-02-26 08:49:40 +00:00
Claudio Ortolina
16e0bf03a9
Remove Flagmojis dependency
2026-02-24 08:58:49 +00:00
Claudio Ortolina
8eaaa3cfec
Use custom country module to resolve flags more accurately
...
Ported from https://github.com/wojtekmaj/country-code-to-flag-emoji
(MIT)
2026-02-24 08:57:30 +00:00
Claudio Ortolina
1dfb2d2a6f
Use Wikipedia data for record similarity and raise similarity threshold
2026-02-19 15:51:12 +00:00
Claudio Ortolina
3079ebdd02
Remove obsolete Obsidian import logic
2026-02-18 22:08:47 +00:00
Copilot
2faddbf0c6
Add audit tooling for scrobbled tracks data quality ( #89 )
2026-02-17 11:24:45 +00:00
Claudio Ortolina
c7285a2f80
Move more fixtures to compile time
2026-02-16 10:30:14 +00:00
Claudio Ortolina
2f7e2caa3c
Cache fixtures
2026-02-16 09:50:10 +00:00
Claudio Ortolina
583789850c
Normalize top artist and top album counts
...
- Make sure joins don't discard tracks
- Make sure we group by names as MB ids can be empty
2026-02-15 20:35:23 +00:00
Claudio Ortolina
23d6e736e7
Uniform ux/ui of adding a new record to a set
2026-02-15 14:24:02 +00:00
Claudio Ortolina
445033861d
Reuse fixture
2026-02-10 19:32:28 +00:00
Claudio Ortolina
fe748782c7
Reorder record sets via drag and drop
2026-02-10 11:16:41 +00:00
Claudio Ortolina
4b03102aa7
Display size for image search previews
2026-02-09 19:02:12 +00:00
Claudio Ortolina
ddc4691522
EXP: cover search via Brave API
2026-02-09 18:51:47 +00:00
Claudio Ortolina
bcae291cff
Support getting artist bios from Wikipedia (experimental)
2026-02-09 15:20:06 +00:00
Claudio Ortolina
f82e764c94
Add tests for Last.fm controller
2026-02-09 11:12:38 +00:00
Claudio Ortolina
fc307a0aba
Add tests for health controller
2026-02-09 11:12:02 +00:00
Claudio Ortolina
356efb1c65
Add tests for archive controller
2026-02-09 11:11:41 +00:00
Claudio Ortolina
68956978e1
Add show route for record sets
2026-02-07 16:09:26 +00:00
Claudio Ortolina
29dc57abdb
Simplify record sets page structure (no title, better margins)
2026-02-07 13:47:42 +00:00
Claudio Ortolina
84159a1c0d
Improve test coverage
...
Files Created (8 files, 54 new tests)
Fixtures
1. test/support/fixtures/music_library/record_sets.ex — record_set/1
and record_set_with_records/2 helpers
2. test/support/fixtures/music_library/online_store_templates.ex —
online_store_template/1 helper
Context Tests
3. test/music_library/record_sets_test.exs — 20 tests covering search,
count, CRUD, add/remove/move records
4. test/music_library/online_store_templates_test.exs — 8 tests
covering list, CRUD, URL generation, validation
5. test/music_library/search_test.exs — 5 tests covering universal
search and search counts
6. test/music_library/notes_test.exs — 4 tests covering get, create,
update
LiveView Tests
7. test/music_library_web/live/record_set_live/index_test.exs — 11
tests covering listing, empty state, search, ordering,
create/edit/delete sets, remove records, reorder records
8.
test/music_library_web/live/online_store_template_live/index_test.exs —
6 tests covering listing, create/edit/delete, toggle enabled
Results
- 297 tests, 0 failures (up from 243 — 54 new tests added)
- All existing tests continue to pass
There's a remaining gettext warning that needs to be investigated
2026-02-07 10:39:22 +00:00
Claudio Ortolina
faf8500256
Ensure uniqueness of scrobble rules
2026-02-02 10:32:32 +00:00
Claudio Ortolina
9666b24b4a
Standardize button labels
2025-12-14 09:25:41 +03:00
Claudio Ortolina
0df348ae19
Add pagination for scrobble rules
2025-12-14 09:21:13 +03:00
Claudio Ortolina
84e7c06d27
Can edit scrobbled tracks album/artist mbids
2025-12-09 14:38:01 +00:00
Claudio Ortolina
5692be4e63
Update dependencies
...
credo 1.7.13 => 1.7.14 - requires updates to pass updated checks
2025-12-01 16:09:51 +00:00
Claudio Ortolina
71f7a38fee
Don't use streams for records on this day
2025-11-26 18:50:35 +00:00
Copilot
e11894c095
Batch scrobble rule application by type to reduce N queries to 2 ( #61 )
...
* Implement optimized batch rule application
- Add apply_all_album_rules/1 to batch apply all album rules in single query
- Add apply_all_artist_rules/1 to batch apply all artist rules in single query
- Update apply_all_rules/0 to use new batch functions
- Add comprehensive tests for batch application
- Use CASE statement in SQL to apply multiple rules efficiently
Co-authored-by: cloud8421 <537608+cloud8421@users.noreply.github.com >
* Add batch application support for track-filtered rules
- Extend apply_all_album_rules/2 to support filtering by tracks
- Extend apply_all_artist_rules/2 to support filtering by tracks
- Update apply_all_rules/1 to use batch functions for track-filtered application
- Remove duplicate function definitions
- Ensures both main use cases (all tracks and specific tracks) are optimized
Co-authored-by: cloud8421 <537608+cloud8421@users.noreply.github.com >
* Add comprehensive documentation for optimization
- Document the problem and solution approach
- Explain SQL generation and performance impact
- Detail trade-offs and backward compatibility
- Include future considerations and scalability notes
Co-authored-by: cloud8421 <537608+cloud8421@users.noreply.github.com >
* Apply credo suggestions and format
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: cloud8421 <537608+cloud8421@users.noreply.github.com >
Co-authored-by: Claudio Ortolina <cloud8421@gmail.com >
2025-11-10 20:04:34 +00:00
Claudio Ortolina
997ac40cc5
Fix broken test
2025-11-09 19:22:53 +00:00
copilot-swe-agent[bot]
36d1ba1b48
Fix hook and add keyboard navigation tests
...
Co-authored-by: cloud8421 <537608+cloud8421@users.noreply.github.com >
2025-11-09 19:22:53 +00:00
Claudio Ortolina
11acec56b2
Remove lotus
...
Unstable - and it messes with the repo connection, creating other
errors.
2025-11-03 17:29:37 +00:00
Claudio Ortolina
ed99f6bda8
Implement dense grid as variation of normal grid
2025-11-03 09:49:51 +00:00
Claudio Ortolina
12272608bc
Default collection and wishlist to a grid layout
2025-11-03 09:49:50 +00:00
Claudio Ortolina
f4808c25c2
Update dependencies
...
phoenix_test 0.8.2 => 0.8.3
Includes a test fix due to PhoenixTest having changed the logic used to
match text content in a nested selector.
2025-10-27 15:21:26 +00:00
Claudio Ortolina
e1a1ddd682
Speed up test
...
There are only 20 tracks per page, so 21 tracks are enough
2025-10-26 14:23:14 +00:00
Claudio Ortolina
89db253e59
Refactor test to use PhoenixTest APIs
2025-10-25 13:35:21 +01:00
Claudio Ortolina
4dc80cf739
Make test actually work
2025-10-25 13:18:05 +01:00
Claudio Ortolina
49b5075222
More speed up test
2025-10-25 13:07:35 +01:00
Claudio Ortolina
0b56e01162
Speed up test
...
Entire spec is AI generated and needs to be revised.
2025-10-25 12:59:14 +01:00
Claudio Ortolina
59eb603b3f
Return more record information in the API
2025-10-25 11:52:50 +01:00
Claudio Ortolina
4c65bbddb6
Add prod test for /dev/lotus endpoint protection
2025-10-25 09:23:12 +01:00
Claudio Ortolina
f02564fa30
Add /api/collection/on_this_day endpoint
2025-10-24 20:06:23 +01:00
Claudio Ortolina
7b697827fd
Don't scrobble releases with zero duration
2025-10-23 10:27:08 +01:00