Commit Graph

1315 Commits

Author SHA1 Message Date
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
Claudio Ortolina 0ccaf46ebd Standardize fetch_* to refresh_* in Artists context
Closes #132
2026-03-25 11:52:43 +00:00
Claudio Ortolina 0381008fdc Add missing dark mode class in search components
Closes #138
2026-03-25 11:25:25 +00:00
Claudio Ortolina 7a4396ce65 Load lastfm artist info only when bio is not present 2026-03-24 15:11:09 +00:00
Claudio Ortolina c9283d7f28 Compute artist play count from db 2026-03-24 15:07:50 +00:00
Claudio Ortolina d5be6e6182 Remove on tour tracking functionality (source unreliable) 2026-03-24 15:01:16 +00:00
Claudio Ortolina f7a5b1a990 Don't hardcode section name 2026-03-24 14:03:44 +00:00
Claudio Ortolina 8c7f2f5703 Make sure toasts are synced 2026-03-24 14:01:56 +00:00