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
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
b2575eb802
Make sure that list_enabled_rules returns ALL rules
...
Fixes partially working scrobble rule application
2026-03-28 10:07:08 +00:00
Claudio Ortolina
5c5a523fe6
Move scrobble refresh infra to Oban
2026-03-28 09:00:18 +00:00
Claudio Ortolina
d45aff21ec
Rename refresh_lastfm_feed to refresh_scrobbles
2026-03-28 08:59:22 +00:00
Claudio Ortolina
47f8eddff1
Move BackfillScrobbledTracks worker under MusicLibrary namespace
2026-03-28 08:05:02 +00:00
Claudio Ortolina
fbcf40b4b3
Remove LastFm.Feed, LastFm.Refresh, and LastFm.Supervisor
2026-03-27 23:17:25 +00:00
Claudio Ortolina
61dd3f45c7
Move refresh config and callers to ListeningStats
2026-03-27 23:14:09 +00:00