Commit Graph

418 Commits

Author SHA1 Message Date
Claudio Ortolina e418395b23 Edit record genres 2026-02-09 08:53:16 +00:00
Claudio Ortolina ecd87ee2c6 Add universal search support for record sets 2026-02-07 16:11:48 +00:00
Claudio Ortolina 4524dc757c Provide default record set counts 2026-02-07 10:42:28 +00:00
Claudio Ortolina abb1ab332a Can order record sets 2026-02-07 10:23:35 +00:00
Claudio Ortolina 635bffc9fe Enable searching across record sets 2026-02-06 17:03:21 +00:00
Claudio Ortolina c01c528580 Can add wishlisted records to a record set 2026-02-06 15:24:53 +00:00
Claudio Ortolina f86e9b6d5c Revert "Order record sets by name"
This reverts commit 5bb33c04c3.
2026-02-05 15:31:05 +00:00
Claudio Ortolina 5bb33c04c3 Order record sets by name 2026-02-05 14:32:43 +00:00
Claudio Ortolina 419b093101 First pass at record sets 2026-02-05 11:46:52 +00:00
Claudio Ortolina 1486a37fda Try and respect the 1sec discogs rate limit 2026-02-02 12:56:16 +00:00
Claudio Ortolina 01e5975b80 Slow down discogs refresh jobs to avoid rate-limiting 2026-02-02 12:36:43 +00:00
Claudio Ortolina ec28dfcdab Make sure to return results of operation in worker
Previous version would swallow errors
2026-02-02 11:37:36 +00:00
Claudio Ortolina 1c2e6fcf63 Use discogs profile_text instead of profile when available 2026-02-02 11:22:59 +00:00
Claudio Ortolina faf8500256 Ensure uniqueness of scrobble rules 2026-02-02 10:32:32 +00:00
Claudio Ortolina 32454e8d5f Document missing artist MBIDs in Last.fm data 2026-01-23 08:32:55 +00:00
Claudio Ortolina 57f138e597 Fix search filter precedence bug
Previous version would do:

purchase status + normal filter OR normalized filter

New version does:

purchase status AND (normal filter OR normalized filter)
2026-01-21 16:09:35 +00:00
Claudio Ortolina 1193eda4ca Escape "." in searches 2026-01-19 21:04:03 +00:00
Claudio Ortolina c1a7c9df44 Include record embedding text on collection show page 2026-01-19 15:24:29 +00:00
Claudio Ortolina f6e9415409 Add associations between notes and artists/records 2026-01-11 14:19:06 +00:00
Claudio Ortolina 8e15b6eb57 Optimize the repo every day at 4am 2025-12-15 10:23:54 +03:00
Claudio Ortolina 162a38b62e Add optimize maintenance function 2025-12-15 10:22:20 +03:00
Claudio Ortolina 0df348ae19 Add pagination for scrobble rules 2025-12-14 09:21:13 +03:00
Claudio Ortolina 7106329814 Don't log scrobble rule update message when there are no updates 2025-12-11 09:07:38 +03:00
Claudio Ortolina c5f46550f5 Revert "In scrobble activitiy, prioritize matchin on collected release first"
This reverts commit 0c7196639f.
2025-12-03 13:05:22 +00:00
Claudio Ortolina 0bec9bde99 Ignore commas in search
They're a reserved character in FTS5
2025-12-01 17:22:39 +00:00
Claudio Ortolina 5692be4e63 Update dependencies
credo 1.7.13 => 1.7.14 - requires updates to pass updated checks
2025-12-01 16:09:51 +00:00
Claudio Ortolina 0c7196639f In scrobble activitiy, prioritize matchin on collected release first
When the collection contains multiple records for the same release
group, we want the scrobble activity to first match against the one that
was actually scrobbled, as opposed to ANY other collected release.
2025-12-01 09:36:37 +00:00
Claudio Ortolina 80763b8192 Sort collection records by release 2025-11-25 22:24:23 +00:00
Claudio Ortolina e1b73c300f Update derived fields when updating musicbrainz data 2025-11-22 18:22:30 +00:00
Claudio Ortolina cc7d00c750 Display number of scrobbles when viewing a record 2025-11-19 13:51:22 +00:00
Claudio Ortolina a597ff4032 Make application work with empty database 2025-11-19 10:16:21 +00:00
Claudio Ortolina a66f32db0e Small formatting fix 2025-11-11 10:28:58 +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 4a5ed2de1a Enable artists maintenance tasks 2025-11-07 17:14:45 +00:00
Claudio Ortolina ade6aebb87 Add Worker to prune dangling assets 2025-11-07 12:16:10 +00:00
Claudio Ortolina fcd558066e Can filter collection records by purchase year 2025-10-31 12:25:10 +00:00
Claudio Ortolina 33dfbd607c Add artist information to record embeddings 2025-10-28 08:57:02 +00: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 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 135ed72b73 Consolidate batch operations on all records
- Only use async
- Include generation of embeddings
2025-10-19 21:52:33 +01:00
Claudio Ortolina 901a6b1c93 Update dependencies
credo 1.7.12 => 1.7.13
usage_rules 0.1.24 => 0.1.25
2025-10-15 09:57:13 +01:00
Claudio Ortolina 7a1061a783 Update embeddings when populating genres 2025-10-12 22:45:12 +02:00
Claudio Ortolina 61ee5693ab Remove unsupported option documentation 2025-10-12 21:58:34 +02:00
Claudio Ortolina d38089d82d Show similarity in % points 2025-10-12 20:46:01 +02:00
Claudio Ortolina e17a445574 Add runtime tasks to regenerate embeddings 2025-10-12 13:47:28 +02:00
Claudio Ortolina ee199272b1 Use sqlite vector 2025-10-12 13:36:42 +02:00
Claudio Ortolina 9cae972bc5 Add similar records
Initial stab by Claude
2025-10-11 21:39:59 +02:00
Claudio Ortolina 07218d16ca Removes useless docs 2025-10-10 14:21:20 +02:00