Commit Graph

1346 Commits

Author SHA1 Message Date
Claudio Ortolina aa83ad62f8 Fix opacity of actions menu in record grid 2025-11-16 21:14:00 +00:00
Claudio Ortolina cc4bf40f97 Enforce minimum size for record detail artwork on large screens 2025-11-14 17:37:01 +00:00
Claudio Ortolina 216866f3fb Don't display "no more results" when getting to the bottom of the list 2025-11-13 20:35:15 +00:00
Claudio Ortolina 3964359101 Log error when scrobbling doesn't work 2025-11-13 19:52:04 +00:00
Claudio Ortolina d48ab34af8 Account for bio not being present or empty 2025-11-12 11:26:04 +00:00
Claudio Ortolina 316c1bcfe3 Account for broken asset requests 2025-11-12 10:53:20 +00:00
Claudio Ortolina 7f79d5f30b Disable medium scrobble button when tracks are selected 2025-11-11 11:27:40 +00:00
Claudio Ortolina 93d40144c9 Reduce spacing in release tracklist 2025-11-11 11:27:11 +00:00
Claudio Ortolina a66f32db0e Small formatting fix 2025-11-11 10:28:58 +00:00
Claudio Ortolina 249fe712fe Enable scrobbling selected tracks in scrobble anything view 2025-11-11 08:15:38 +00:00
Copilot de195aa970 Add track selection and group scrobbling to release sheet (#62)
* Initial plan
* Add track selection and scrobble functionality
Co-authored-by: cloud8421 <537608+cloud8421@users.noreply.github.com>
* Add translations for track selection feature
Co-authored-by: cloud8421 <537608+cloud8421@users.noreply.github.com>
* Format code
* Temporarily set selected tracks in scrobble anything view

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: cloud8421 <537608+cloud8421@users.noreply.github.com>
Co-authored-by: Claudio Ortolina <cloud8421@gmail.com>
2025-11-11 08:09:28 +00:00
Copilot e11894c095 Batch scrobble rule application by type to reduce N queries to 2 (#61)
* Implement optimized batch rule application

- Add apply_all_album_rules/1 to batch apply all album rules in single query
- Add apply_all_artist_rules/1 to batch apply all artist rules in single query
- Update apply_all_rules/0 to use new batch functions
- Add comprehensive tests for batch application
- Use CASE statement in SQL to apply multiple rules efficiently

Co-authored-by: cloud8421 <537608+cloud8421@users.noreply.github.com>

* Add batch application support for track-filtered rules

- Extend apply_all_album_rules/2 to support filtering by tracks
- Extend apply_all_artist_rules/2 to support filtering by tracks
- Update apply_all_rules/1 to use batch functions for track-filtered application
- Remove duplicate function definitions
- Ensures both main use cases (all tracks and specific tracks) are optimized

Co-authored-by: cloud8421 <537608+cloud8421@users.noreply.github.com>

* Add comprehensive documentation for optimization

- Document the problem and solution approach
- Explain SQL generation and performance impact
- Detail trade-offs and backward compatibility
- Include future considerations and scalability notes

Co-authored-by: cloud8421 <537608+cloud8421@users.noreply.github.com>

* Apply credo suggestions and format

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: cloud8421 <537608+cloud8421@users.noreply.github.com>
Co-authored-by: Claudio Ortolina <cloud8421@gmail.com>
2025-11-10 20:04:34 +00:00
Claudio Ortolina d88cb84766 Simplify markup of similar records 2025-11-09 21:22:21 +00:00
Claudio Ortolina 71beae37e1 Reduce spacing around universal search elements
Make things a bit more compact
2025-11-09 19:58:35 +00:00
Claudio Ortolina 871798c71a Improve selected options formatting 2025-11-09 19:22:53 +00:00
copilot-swe-agent[bot] df55065b32 Add keyboard navigation hook for universal search
Co-authored-by: cloud8421 <537608+cloud8421@users.noreply.github.com>
2025-11-09 19:22:53 +00:00
Claudio Ortolina 4a5ed2de1a Enable artists maintenance tasks 2025-11-07 17:14:45 +00:00
Claudio Ortolina c67a91e911 Fix tailwind class 2025-11-07 13:21:10 +00:00
Claudio Ortolina 32f235938c Add aria roles to universal search modal 2025-11-07 13:20:40 +00:00
Claudio Ortolina ade6aebb87 Add Worker to prune dangling assets 2025-11-07 12:16:10 +00:00
Claudio Ortolina edadf18670 Fix tailwind classes 2025-11-06 15:01:30 +00:00
Claudio Ortolina 0173a0daf5 Remove obsolete TODO 2025-11-06 14:57:14 +00:00
Claudio Ortolina 794ff004d7 Simplify record grid markup 2025-11-06 14:54:29 +00:00
Claudio Ortolina c583567b17 Add confirmations to maintenance actions 2025-11-03 17:30:02 +00:00
Claudio Ortolina 11acec56b2 Remove lotus
Unstable - and it messes with the repo connection, creating other
errors.
2025-11-03 17:29:37 +00:00
Claudio Ortolina ed99f6bda8 Implement dense grid as variation of normal grid 2025-11-03 09:49:51 +00:00
Claudio Ortolina af4eeb7df2 Default dense grid to two columns on mobile 2025-11-03 09:49:51 +00:00
Claudio Ortolina 17514a5305 Hide grid/list button labels on mobile 2025-11-03 09:49:51 +00:00
Claudio Ortolina 12272608bc Default collection and wishlist to a grid layout 2025-11-03 09:49:50 +00:00
Claudio Ortolina 47d92df9c9 Improve display of record grid artworks and action menu 2025-11-03 08:35:49 +00:00
Claudio Ortolina a7723be026 Fix maintenance buttons vertical spacing on mobile 2025-11-02 21:04:10 +00:00
Claudio Ortolina 299dee4b85 Add maintenance page
Some actions are missing
2025-11-02 21:02:34 +00:00
Claudio Ortolina 03cd01d500 Move actions in record grid
- Title doesn't get truncated
- Open record by clickin artwork only
- Show two records per row on mobile
2025-11-02 11:12:48 +00:00
Claudio Ortolina f42edc92be Fix Tailwind class names 2025-10-31 17:56:23 +00:00
Claudio Ortolina fcd558066e Can filter collection records by purchase year 2025-10-31 12:25:10 +00:00
Claudio Ortolina 9b15ef587a Show "Today" for records released today 2025-10-31 07:54:25 +00:00
Claudio Ortolina 4566744253 Remove unnecessary pattern matches 2025-10-28 09:25:02 +00:00
Claudio Ortolina 33dfbd607c Add artist information to record embeddings 2025-10-28 08:57:02 +00:00
Claudio Ortolina 59eb603b3f Return more record information in the API 2025-10-25 11:52:50 +01:00
Claudio Ortolina 886f4815c8 Vacuum repo before returning backup file 2025-10-25 11:36:34 +01:00
Claudio Ortolina af8ca54d3e Run Repo vacuum via Oban scheduled job
This way if there's any resource contention to obtain a db connection,
Oban can manage retries.
2025-10-25 10:21:21 +01:00
Claudio Ortolina f02564fa30 Add /api/collection/on_this_day endpoint 2025-10-24 20:06:23 +01:00
Claudio Ortolina b2d7c724e4 Remove similar records from wishlist detail page
Doesn't provide anything useful as the wishlist pool is quite small - we
keep all data/domain functions as it doesn't hurt and there might be
other use cases.
2025-10-24 09:12:21 +01:00
Claudio Ortolina 466d01f826 Always render cover hash for top albums if available 2025-10-23 16:56:15 +01:00
Claudio Ortolina a12963cb0a Always render cover hash for scrobbles if available 2025-10-23 13:53:10 +01:00
Claudio Ortolina 9229805311 Don't scrobble media with zero duration 2025-10-23 10:28:19 +01:00
Claudio Ortolina 7b697827fd Don't scrobble releases with zero duration 2025-10-23 10:27:08 +01:00
Claudio Ortolina bc5a0b9df1 Don't use primary key for scrobbled tracks embeds 2025-10-22 16:51:55 +01:00
Claudio Ortolina a30e1b32d7 Mount data analysis via Lotus packages 2025-10-22 16:33:07 +01:00
Claudio Ortolina 35aec967fe Simplify tests using PhoenixTest 2025-10-22 10:52:22 +01:00