Claudio Ortolina
c11009f3f9
Update dependencies
...
ex_slop 0.3.1 => 0.4.0
2026-05-01 17:03:14 +01:00
Claudio Ortolina
3849b338f3
Improve performance of job counting in maintenance
...
- Use a single query for all workers
- Replace the manual Ecto query against Oban.Job with Oban.Job.query/1
2026-04-30 14:54:56 +01:00
Claudio Ortolina
2e38412a84
ML-10: break compile cycle via Artists → Collection edge
2026-04-24 10:49:47 +01:00
Claudio Ortolina
0784fc5e0c
Fix page title for scrobble anything release page
2026-04-23 21:06:32 +01:00
Claudio Ortolina
1bd5707cb4
Fix page title for scrobble anything index and release group route
2026-04-23 21:06:12 +01:00
Claudio Ortolina
d03e288353
Make sure top_by_period components have a proper ID
2026-04-23 16:41:18 +01:00
Claudio Ortolina
779708e62e
Hide print tracklist on scrobble release page
2026-04-23 15:05:05 +01:00
Claudio Ortolina
72818bfaf2
Validate release-group shape before parsing
2026-04-23 15:00:49 +01:00
Claudio Ortolina
c7c7e1fe4e
Navigate from scrobble search to release-group page
2026-04-23 14:47:50 +01:00
Claudio Ortolina
0dcd6eab83
Replace /scrobble/:release_id with nested route
2026-04-23 14:39:26 +01:00
Claudio Ortolina
d8041dc0dd
Add /scrobble/:rg_id release-group page
2026-04-23 14:35:58 +01:00
Claudio Ortolina
4c48bda7b2
Refactor Release component to take release_id
2026-04-23 14:19:11 +01:00
Claudio Ortolina
8179b4317c
ML-142: forgot to support timezones
2026-04-22 18:14:14 +01:00
Claudio Ortolina
0776700170
ML-142: Improve scrobble UI in the release component
...
- Sticky bar for easier track-based scrobbling
- Support setting custom finish time
2026-04-22 17:19:35 +01:00
Claudio Ortolina
016c4691be
Canonicalize tailwind classes
2026-04-21 14:22:41 +01:00
Claudio Ortolina
563135fcea
Remove dead nil fallback on play_count
2026-04-21 12:48:17 +01:00
Claudio Ortolina
29bfa20978
Remove unreachable error clauses in form save helpers
2026-04-21 12:46:35 +01:00
Claudio Ortolina
9851a5c6bf
Use cart with barcode scanner
2026-04-20 15:46:40 +01:00
Claudio Ortolina
3f5ce060b1
Implement ML-143: Cart-style multi record import
...
Closes ML-143.
2026-04-20 15:15:29 +01:00
Claudio Ortolina
cf872cfed0
Secondary sort for artist albums in collection (purchase date desc)
2026-04-19 21:36:07 +01:00
Claudio Ortolina
7767933742
Give more space above the universal search input
2026-04-19 21:29:40 +01:00
Claudio Ortolina
da12d5d693
Handle ArtistLive.Form saved message in show view
2026-04-19 08:59:04 +01:00
Claudio Ortolina
b37162fce3
Fix colors of mixed badges
2026-04-17 22:30:27 +01:00
Claudio Ortolina
94143010c0
Fix doubly-wrapped safe tuple in artist bio render
2026-04-17 16:00:22 +01:00
Claudio Ortolina
fbc548e903
Explicitly trust Wikipedia's HTML
...
Closes #168
2026-04-16 23:14:00 +01:00
Claudio Ortolina
464e627a63
Remove unnecessary padding from detail views
2026-04-16 22:54:39 +01:00
Claudio Ortolina
6b35b5cde5
Trigger search on Enter in search inputs inside forms
2026-04-16 15:15:47 +01:00
Claudio Ortolina
fea1231304
Replace refresh scrobble list icon
...
Makes it for a better animation
2026-04-15 22:52:28 +01:00
Claudio Ortolina
c816f2de4a
Add scrobbled tracks search parser
...
Introduces ListeningStats.SearchParser with NimbleParsec supporting
record:, album_mbid:, artist_mbid:, artist:, album:, track: filters.
Links scrobble count on record page to filtered scrobbled tracks view.
2026-04-15 14:56:38 +01:00
Claudio Ortolina
851cb36858
Fix dl accessibility violations on stats dashboard
2026-04-15 14:16:24 +01:00
Claudio Ortolina
405235e2b3
Add picker to create scrobble rules on the fly
2026-04-15 10:53:58 +01:00
Claudio Ortolina
8db324d74a
Extract shared badge/dropdown to ScrobbleComponents
2026-04-14 16:50:40 +01:00
Claudio Ortolina
888b5a68e6
Update all callers to use matching_records
...
Migrate StatsLive.Index, ScrobbledTracksLive.Index, and TopAlbums to
consume matching_records list instead of scalar record IDs. Remove the
derive_legacy_record_ids bridge function. TopAlbums now uses a dropdown
for multi-record badges with play count display.
2026-04-14 16:14:59 +01:00
Claudio Ortolina
e43bccb9bc
Extract shared index logic into LiveHelpers.IndexActions
...
Closes #150
2026-04-13 23:09:22 +01:00
Claudio Ortolina
76438360d7
Load collection summary asynchronously on mount
2026-04-13 13:11:15 +01:00
Claudio Ortolina
5512ac0837
Hide button text on mobile
2026-04-13 12:53:57 +01:00
Claudio Ortolina
3b8415d8c4
Add Collection Chat to universal search
2026-04-13 10:15:43 +01:00
Claudio Ortolina
a509248625
Wire up Chat component in CollectionLive.Index
2026-04-13 10:12:49 +01:00
Claudio Ortolina
3da0865725
Drop Records embedding wrappers
2026-04-11 21:43:00 +01:00
Claudio Ortolina
49d26e1fd0
Switch the release component to a form to enable recovery
2026-04-08 18:22:44 +01:00
Claudio Ortolina
40ea3aaa2a
Add fallback error images for scrobble activity
2026-04-05 08:35:23 +01:00
Claudio Ortolina
90538e7890
Move status tooltip badge
2026-04-02 16:22:57 +01:00
Claudio Ortolina
98c2f85258
Use a tooltip for release status
2026-04-02 11:57:41 +01:00
Claudio Ortolina
3f7da55e50
Add a release tracked badge to records in lists
2026-04-02 11:52:07 +01:00
Claudio Ortolina
4e8f1fd6f0
Fix cover image distortion in scrobble activity
2026-04-01 21:14:18 +01:00
Claudio Ortolina
e3a6c0563b
Do not invert order of artist sections on mobile
2026-04-01 07:51:29 +01:00
Claudio Ortolina
19b7091358
Extend last.fm token diagnostics for maintenance page
2026-03-30 10:55:20 +01:00
Claudio Ortolina
8f8eb0a656
Enable quick actions from universal search
2026-03-29 23:07:53 +01:00
Claudio Ortolina
027f9d1a2d
Can reset Last.fm account from maintenance page
2026-03-29 09:12:53 +01:00
Claudio Ortolina
bb1c53c44f
Don't display some stats when there's no record
2026-03-29 08:48:30 +01:00