Commit Graph

459 Commits

Author SHA1 Message Date
Claudio Ortolina cd0101ba4a Make page_title/2 private in all LiveViews
The Index modules were calling Show.page_title/2 for modal edit
routes. Inlined the logic as private functions in each Index
module and removed the now-unused Show aliases.

Closes #104
2026-03-12 07:44:39 +00:00
Claudio Ortolina 8d9bf78974 Extract shared TopByPeriod LiveComponent
Closes #103
2026-03-12 07:38:58 +00:00
Claudio Ortolina 159d5ad695 Include more maintenance tasks
- Asset tasks
- Records on this day email
2026-03-11 09:31:59 +00:00
Claudio Ortolina 4569c6727e Add function to download a record's tracklist for printing 2026-03-09 13:39:12 +00:00
Claudio Ortolina 4584b7bcb8 Remove drop down from record set items
Have just a bin icon, and rely on drag and drop.

This solves a massive performance issue with the page, which is
traceable to the Fluxon dropdowns, particularly the Class.merge logic
used to merge Tailwind classes
2026-03-08 13:21:33 +00:00
Claudio Ortolina d3ae3a7381 Fix ScrobbleRule timestamps to use utc_datetime 2026-03-06 09:58:40 +00:00
Claudio Ortolina 08f7565d44 Replace inspect(reason) with friendly error messages
Closes #81
2026-03-05 20:25:13 +00:00
Claudio Ortolina 9ae63ba055 Add missing FK index on record_set_items.record_id 2026-03-05 14:30:51 +00:00
Claudio Ortolina f109057be5 Persist telemetry data in local sqlite database 2026-03-05 13:39:38 +00:00
Claudio Ortolina 6d451481b7 Remove obsolete color extraction strategies 2026-03-03 16:01:25 +00:00
Claudio Ortolina 1d3361c425 BETA: accurate color extractor 2026-03-03 15:41:24 +00:00
Claudio Ortolina 88e09a6ad8 Handle errors when storing assets 2026-03-03 08:27:05 +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 6836cf5c9e Integrate refresh of Last.fm data (both per artist and batch) 2026-03-01 09:46:27 +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 2f57ce2e67 Display static changed banner instead of toast 2026-02-28 10:30:44 +00:00
Claudio Ortolina 49b7c3c955 Extract common elements from record detail pages 2026-02-28 09:46:31 +00:00
Claudio Ortolina 3635e113c8 Add Error Tracker link to main menu 2026-02-26 22:07:47 +00:00
Claudio Ortolina 18ac442b2c Install ErrorTracker 2026-02-26 21:31:37 +00:00
Claudio Ortolina a76ae7169f Enable universal navigation 2026-02-26 15:10:40 +00:00
Claudio Ortolina c6d778c1cd Render debug information in side sheet with highlighting 2026-02-26 11:16:55 +00:00
Claudio Ortolina bfbb74d601 BETA: new layout for record details page 2026-02-26 08:49:40 +00:00
Claudio Ortolina 0f2ace4920 Account for search errors in the add record component 2026-02-25 08:04:20 +00:00
Claudio Ortolina e9b9717b08 Inline templates inside LV modules 2026-02-24 17:20:21 +00:00
Claudio Ortolina 65a2305f47 Move database backup action to maintenance page 2026-02-24 16:53:44 +00:00
Claudio Ortolina 60d81e14de Enable chat for artists 2026-02-22 15:31:09 +00:00
Claudio Ortolina b9ee7a6ce9 Load record embedding for wishlisted records 2026-02-22 15:14:38 +00:00
Claudio Ortolina 8d38512712 Fix review blockers in record chat
- Add Task.Supervisor to app supervision tree
- Use tagged tuples instead of rescue for error handling
- Pass embedding_text from parent LiveView as prop
- Remove dead Completion struct fields
- Extract socket assigns before Task closure
- Log errors server-side, show generic user message
- Make build_system_prompt private, remove thin wrapper
- Extract do_send_message for retry reuse

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 10:20:58 +00:00
Claudio Ortolina 6e6e419801 Add record chat sheet with OpenAI streaming
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 10:13:05 +00:00
Claudio Ortolina 5868fa0219 Display purchased on in record sets record picker 2026-02-21 21:52:46 +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 98f901c020 Materialize record releases to improve performance 2026-02-16 12:30:41 +00:00
Claudio Ortolina d6c19d3a40 Improve performance of scrobble activity queries 2026-02-16 12:06:00 +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 6e655cd866 Add button to retry fetching release tracks 2026-02-14 09:35:46 +00:00
Claudio Ortolina 8862e1d374 Show record sets in records detail pages 2026-02-13 12:00:12 +00:00
Claudio Ortolina b4c5c902bc Uniform Scrobble Anything UX/UI with rest of the application 2026-02-10 10:48:38 +00:00
Claudio Ortolina 6c10d9ed18 Support searching for artist images 2026-02-10 10:29:50 +00:00
Claudio Ortolina ddc4691522 EXP: cover search via Brave API 2026-02-09 18:51:47 +00:00
Claudio Ortolina 25bd4b10c4 Add maintenance tasks to refresh all artist wikipedia bios 2026-02-09 15:24:29 +00:00
Claudio Ortolina bcae291cff Support getting artist bios from Wikipedia (experimental) 2026-02-09 15:20:06 +00:00
Claudio Ortolina dd37d2f967 Add error handling for record set editing 2026-02-09 11:10:20 +00:00
Claudio Ortolina e418395b23 Edit record genres 2026-02-09 08:53:16 +00:00
Claudio Ortolina a7056aa8d9 Extract some reused components 2026-02-07 17:23:13 +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 abb1ab332a Can order record sets 2026-02-07 10:23:35 +00:00
Claudio Ortolina 79aeee6363 Update sqlean extensions from 0.28.0 to 0.28.1 2026-02-07 08:47:50 +00:00
Claudio Ortolina c01c528580 Can add wishlisted records to a record set 2026-02-06 15:24:53 +00:00
Claudio Ortolina 419b093101 First pass at record sets 2026-02-05 11:46:52 +00:00