Claudio Ortolina
d4376e5fa0
Extract DB queries from MaintenanceLive into context
2026-03-05 18:01:50 +00:00
Claudio Ortolina
4b1f6bb245
Fix inconsistent toast arity in form components
...
Closes #94
2026-03-05 17:06:23 +00:00
Claudio Ortolina
42a51b9539
Add test coverage for ScrobbleLive Index and Show
2026-03-05 14:52:58 +00:00
Claudio Ortolina
fb7ccad6f9
Add meaningful tests for ArtistChat and RecordChat
...
Closes #96
2026-03-05 14:43:50 +00:00
Claudio Ortolina
f109057be5
Persist telemetry data in local sqlite database
2026-03-05 13:39:38 +00:00
Claudio Ortolina
478832249b
Send record of the day email
2026-03-05 10:37:04 +00:00
Claudio Ortolina
3671250cee
Update redirect test to account for Cloudflare proxying
2026-03-05 06:57:43 +00:00
Claudio Ortolina
9f0579bafd
Prod test for scanners
2026-03-05 06:56:21 +00:00
Claudio Ortolina
c831b20317
Move error tracker notifier files to correct namespace
2026-03-04 19:39:36 +00:00
Claudio Ortolina
ad9bcd8481
Inline error tracker notification code
...
As we don't need the Discord functionality which brings quite a lot of
extra libraries/code
2026-03-04 17:19:14 +00:00
Claudio Ortolina
7ec3e68e58
Relax assertions on colors
...
As dominant colors are not stable on different environments
2026-03-03 16:13:23 +00:00
Claudio Ortolina
6d451481b7
Remove obsolete color extraction strategies
2026-03-03 16:01:25 +00:00
Claudio Ortolina
de14ec3e25
Consolidate completely stateless tests into doctests
...
Removing dupes
2026-03-03 11:30:52 +00:00
Claudio Ortolina
6ef5f0a000
Add metrics to rate limiter
2026-03-02 19:23:27 +00:00
Claudio Ortolina
195917d0f9
Increase tolerances to avoid spurious failures
2026-03-02 15:29:57 +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
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