Commit Graph

1848 Commits

Author SHA1 Message Date
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 1c720c8394 Add query timing metadata to reporter output 2026-04-10 10:30:05 +01:00
Claudio Ortolina 27148c6507 Add dev query reporter and skill
Ecto telemetry reporter that captures executed SQL queries
to a log file with interpolated parameters and source
locations. Activated/deactivated at runtime via Tidewave
for LLM-driven query analysis workflows.
2026-04-10 10:27:12 +01:00
Claudio Ortolina 59937dadb8 Remove duplication around searching scrobbled tracks
Fixes #157
2026-04-09 06:57:24 +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 91931e649c Remove experimental comment (approach works)
Closes #162
2026-04-08 06:52:31 +01:00
Claudio Ortolina edc4e51d1d Optimize record set compaction
Closes #154
2026-04-06 18:38:56 +01:00
Claudio Ortolina 2609adbf84 Address Lumis api deprecation 2026-04-06 10:27:13 +01:00
Claudio Ortolina 7b5b7e68dd Harden OpenAI api layer
- Support rate limiting
- Add proper error handling (don't rely on exceptions)

Closes #147
2026-04-05 16:01:29 +01:00
Claudio Ortolina a5df68c7ad Don't suppress errors when fetching artist Last.fm data
Closes #149
2026-04-05 15:47:36 +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 4be9db6417 Refactor DefaultPrompt into Chats.Prompt with build/2 2026-04-05 08:32:03 +01:00
Claudio Ortolina f9155f8c52 Try and control the chat responses style 2026-04-04 23:35:46 +01:00
Claudio Ortolina ec12be613b Extract a default prompt 2026-04-04 23:35:30 +01:00
Claudio Ortolina 86fd3134f1 Reduce repetitive LLM chat responses (#146)
Replace "always provide a link" with conditional linking and add
instructions to vary response style and avoid restating information
already covered in the conversation.

Co-authored-by: Claude <noreply@anthropic.com>
2026-04-04 18:32:57 +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 2f9460d2cb Regenerate embeddings only when the test representation changes 2026-04-04 08:32:29 +01:00
Claudio Ortolina cd52890f86 Move release status badge inside group 2026-04-03 17:48:13 +01:00
Claudio Ortolina 4bfe27e6c8 Cancel refresh cover job if image is not available 2026-04-03 12:43:50 +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 7f406ce455 Replace deprecated {:discard, _} with {:cancel, _} 2026-04-01 09:38:05 +01:00
Claudio Ortolina 553ad2bbb9 Discard worker when no wikipedia entry is present 2026-04-01 08:52:28 +01:00
Claudio Ortolina e3a6c0563b Do not invert order of artist sections on mobile 2026-04-01 07:51:29 +01:00
Claudio Ortolina 6fcca38e27 Make sure to pull artists info when record is updated
Catches the scenario when a new artist is added
2026-04-01 07:11:47 +01:00
Claudio Ortolina 7d65a7d4ab Make sure create record returns updated record 2026-04-01 07:06:33 +01:00
Claudio Ortolina e0a277e215 Always open chat links in new tabs 2026-03-31 19:17:58 +01:00
Claudio Ortolina c913dab692 Return controlled errors from genre population
Closes #142
2026-03-30 15:01:42 +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 b3e06ef809 No need to sign request when getting Last.fm profile 2026-03-30 11:04:22 +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 bfc6cfd9c1 Handle transport errors in RefreshScrobbles worker 2026-03-29 16:45:38 +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