Commit Graph

553 Commits

Author SHA1 Message Date
Claudio Ortolina dc71b2ff90 Fix badge align issue in barcode scan cart 2026-04-20 16:04:20 +01:00
Claudio Ortolina 8d004d39cc Extract shared cart sidebar component 2026-04-20 15:57:44 +01:00
Claudio Ortolina 9851a5c6bf Use cart with barcode scanner 2026-04-20 15:46:40 +01:00
Claudio Ortolina d47df899b7 Improve layout of add record form
Remove results count (I never looked at it)
2026-04-20 15:31:14 +01:00
Claudio Ortolina eaece07193 Count formats in results 2026-04-20 15:15:29 +01:00
Claudio Ortolina c4ebe636ff Fix ML-143 review: security, worker, and test improvements
Closes ML-143 review findings:
- cast_id/1 uses Integer.parse instead of String.to_integer
- add_to_cart validates against server-side release_groups
- JS.push payload trimmed to {id, format} only
- Oban.insert_all result checked for partial failures
- handle_async success resets @importing? to false
- ImportFromMusicbrainzReleaseGroup gets unique constraint
- Record.parse_datetime/1 made public with safe match
- Workers delegate to Record.parse_datetime/1
- Test coverage: change_format, clear_cart, wishlist single import
2026-04-20 15:15:29 +01:00
Claudio Ortolina 3f5ce060b1 Implement ML-143: Cart-style multi record import
Closes ML-143.
2026-04-20 15:15:29 +01:00
Claudio Ortolina fb1b60373d Fix max width issue for release selector on mobile 2026-04-18 10:57:14 +01:00
Claudio Ortolina f6bcf3d970 Partial fix for barcode scan camera persisting after disconnection 2026-04-18 10:50:41 +01:00
Claudio Ortolina b37162fce3 Fix colors of mixed badges 2026-04-17 22:30:27 +01:00
Claudio Ortolina e6a8488137 Use Notes.change_note/2 instead of Note.changeset/2 in notes component
Closes #171
2026-04-17 12:56:08 +01:00
Claudio Ortolina 6b35b5cde5 Trigger search on Enter in search inputs inside forms 2026-04-16 15:15:47 +01:00
Claudio Ortolina 840547c509 Speed up structured modal animation 2026-04-16 09:31:30 +01:00
Claudio Ortolina fea1231304 Replace refresh scrobble list icon
Makes it for a better animation
2026-04-15 22:52:28 +01:00
Claudio Ortolina 7899f621f3 Preserve rule picker state across parent re-renders 2026-04-15 15:11:17 +01:00
Claudio Ortolina 851cb36858 Fix dl accessibility violations on stats dashboard 2026-04-15 14:16:24 +01:00
Claudio Ortolina 405235e2b3 Add picker to create scrobble rules on the fly 2026-04-15 10:53:58 +01:00
Claudio Ortolina ebd9e5445f Fix how long ago for records with year release dates 2026-04-15 07:20:01 +01:00
Claudio Ortolina 8db324d74a Extract shared badge/dropdown to ScrobbleComponents 2026-04-14 16:50:40 +01:00
Claudio Ortolina 9ef918a621 Update record_status_badges with matching_records and dropdown 2026-04-14 16:10:57 +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 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 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 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 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 e0a277e215 Always open chat links in new tabs 2026-03-31 19:17:58 +01:00
Claudio Ortolina 53178b373b Add barcode scan quick action 2026-03-30 13:26:04 +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 8996ca0eeb Add empty states for collection and wishlist 2026-03-29 08:53:33 +01:00
Claudio Ortolina 2e3f44495f Add record button when no latest record is present 2026-03-29 08:48:19 +01:00
Claudio Ortolina d45aff21ec Rename refresh_lastfm_feed to refresh_scrobbles 2026-03-28 08:59:22 +00:00
Claudio Ortolina 88542cc537 Fix Tailwind layout and spacing issues 2026-03-27 16:11:05 +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 35eee4182d Fix spacing for release tracks on mobile 2026-03-24 13:27:42 +00:00