Claudio Ortolina
e43bccb9bc
Extract shared index logic into LiveHelpers.IndexActions
...
Closes #150
2026-04-13 23:09:22 +01:00
Claudio Ortolina
4fa13d5422
Reset chat state when navigating between entities
...
The Chat component kept stale messages and chat references
when patching to a different artist/record because update/2
only refreshed the chat list, not the active chat state.
2026-04-13 18:32:19 +01:00
Claudio Ortolina
6a6410bcaa
Have the LLM use square bracketed links for internal references
2026-04-13 14:24:36 +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
035b4e7197
Extract shared record action menu component
...
Closes #155
2026-04-12 23:23:11 +01:00
Claudio Ortolina
88906e10ad
Add ex_slop, configure it, run it and fix issues
2026-04-12 22:07:27 +01:00
Claudio Ortolina
3da0865725
Drop Records embedding wrappers
2026-04-11 21:43:00 +01:00
Claudio Ortolina
8826834549
Fix release status badge in grouped records on this day
...
The tooltip was using the group representative instead of the
actual record, causing all items in a group to show the same
badge regardless of their own selected_release_id.
2026-04-10 10:38:48 +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
d406e98fce
Use message index for chat DOM ids
2026-04-08 12:42:01 +01:00
Claudio Ortolina
d691b1b432
Fix encoding of past messages in LLM request
2026-04-08 12:34:45 +01:00
Claudio Ortolina
2609adbf84
Address Lumis api deprecation
2026-04-06 10:27:13 +01:00
Claudio Ortolina
501ff18733
Can copy a chat message
2026-04-05 14:35:03 +01:00
Claudio Ortolina
40ea3aaa2a
Add fallback error images for scrobble activity
2026-04-05 08:35:23 +01:00
Claudio Ortolina
b9be62a500
Async barcode scan batch import for 2+ new records
...
When barcode scan results contain at least 2 new records,
enqueue individual Oban jobs instead of importing synchronously.
Wishlisted/collected/not_found results still process synchronously.
2026-04-04 10:20:50 +01:00
Claudio Ortolina
cd52890f86
Move release status badge inside group
2026-04-03 17:48:13 +01:00
Claudio Ortolina
9d0170dad3
Hide universal search shortcuts on mobile
2026-04-02 17:15:31 +01:00
Claudio Ortolina
555e7065dc
Fix display of metadata in universal search results
2026-04-02 17:15:04 +01:00
Claudio Ortolina
90538e7890
Move status tooltip badge
2026-04-02 16:22:57 +01:00
Claudio Ortolina
a390a992cc
Remove tooltip (fails for unknown reasons)
2026-04-02 13:21:51 +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
5be889ba58
Remove rounding from selected release in release list
2026-04-01 21:42:08 +01:00
Claudio Ortolina
4e8f1fd6f0
Fix cover image distortion in scrobble activity
2026-04-01 21:14:18 +01:00
Claudio Ortolina
b5e934e36f
Remove unnecessary padding (fixes text overflow)
2026-04-01 11:13:23 +01:00
Claudio Ortolina
9bdefa9f6d
Fix stats section title sizes on iPad mini
2026-04-01 11:08:29 +01:00
Claudio Ortolina
e3a6c0563b
Do not invert order of artist sections on mobile
2026-04-01 07:51:29 +01:00
Claudio Ortolina
e0a277e215
Always open chat links in new tabs
2026-03-31 19:17:58 +01:00
Claudio Ortolina
92a36b915a
Harden public asset endpoint against invalid payloads
...
Closes #143
2026-03-30 14:56:40 +01:00
Claudio Ortolina
45fd414f1b
Use friendly error messages in Last.fm callback
...
Closes #145
2026-03-30 14:42:20 +01:00
Claudio Ortolina
b0018db89d
Improve error handling for color extraction
...
Includes a around embedding generation, which was happening twice (the
first call was redundant as record embeddings are always regenerated
after their parent artist embeddings are regenerated).
Closes #144 .
2026-03-30 14:29:44 +01:00
Claudio Ortolina
53178b373b
Add barcode scan quick action
2026-03-30 13:26:04 +01:00
Claudio Ortolina
19b7091358
Extend last.fm token diagnostics for maintenance page
2026-03-30 10:55:20 +01:00
Claudio Ortolina
5a71a78392
Space out no results notification
2026-03-30 07:01:22 +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
8996ca0eeb
Add empty states for collection and wishlist
2026-03-29 08:53:33 +01:00
Claudio Ortolina
bb1c53c44f
Don't display some stats when there's no record
2026-03-29 08:48:30 +01:00
Claudio Ortolina
2e3f44495f
Add record button when no latest record is present
2026-03-29 08:48:19 +01:00
Claudio Ortolina
0e6760ea73
Fix display of latest record when db is empty
2026-03-29 08:39:13 +01:00
Claudio Ortolina
87b1b4df4b
Replace top_by widgets loading indicator with a skeleton
2026-03-28 21:40:51 +00:00
Claudio Ortolina
06e296b0e4
Expose scrobble rules telemetry
2026-03-28 10:59:50 +00:00
Claudio Ortolina
2e22ace7cf
Move RecordsOnThisDayEmail to MusicLibraryWeb namespace
2026-03-28 10:25:03 +00:00
Claudio Ortolina
d45aff21ec
Rename refresh_lastfm_feed to refresh_scrobbles
2026-03-28 08:59:22 +00:00
Claudio Ortolina
61dd3f45c7
Move refresh config and callers to ListeningStats
2026-03-27 23:14:09 +00:00
Claudio Ortolina
88542cc537
Fix Tailwind layout and spacing issues
2026-03-27 16:11:05 +00:00
Claudio Ortolina
1cf9446063
Update oban_web to 2.12
...
- Had to disable nonces for style-src directives (seems like they're not
propagated everywhere in oban_web's templates)
- Doesn't seem to support crons or workflows when backed by SQLite
2026-03-26 10:09:22 +00:00