Claudio Ortolina
2df5e7ee1d
Show wishlisted date for wishlisted records
2025-06-14 12:58:47 +03:00
Claudio Ortolina
a1f5182e90
Make top albums clickable
2025-06-14 11:16:51 +03:00
Claudio Ortolina
945dc91887
Make cutoff time deterministic
2025-06-14 10:48:15 +03:00
Claudio Ortolina
268aff9918
Add top albums to the stats page
...
Authored with Claude.
> I'd like to have a new section in the Stats page. In this section I
want to see the top albums I listened to in the past 30,
90, 365 days. Use the data in `scrobbled_tracks` to determine which
albums need to be displayed.
> This all looks great as a starter. I'd like to make some
modifications.
1. Invert the position of the artist name and the album title (so that
it's consistent with the Scrobble Activity)
2. Remove the border and shadow from around each album
3. Rename the "Last 365 days" section to "Last Year"
2025-06-14 09:38:44 +03:00
Claudio Ortolina
2cc1d7ca8f
Pick color extraction strategy from dropdown
2025-06-08 20:06:54 +01:00
Claudio Ortolina
2bbb91769d
Generate better dominant colors async after record import
2025-06-08 07:50:07 +01:00
Claudio Ortolina
569f8b5340
Distinguish between color extraction strategies
...
By default, use fast color sampling. Run heavy edge weighted extraction
only on demand.
2025-06-08 07:43:07 +01:00
Claudio Ortolina
96ceb5c7f6
Switch to edge-weighted color extraction algo
2025-06-07 21:53:47 +01:00
Claudio Ortolina
378992e632
Add functions to generate dominant colors
2025-06-07 20:13:19 +01:00
Claudio Ortolina
c5e47cbc8c
Display dominant colors from the db
2025-06-07 20:07:23 +01:00
Claudio Ortolina
8a2fda5f73
Increase sample rate to get a more faithful set of colors
2025-06-07 19:43:54 +01:00
Claudio Ortolina
ccb3089ddf
Experiment: show dominant colors in collected record details page
2025-06-07 14:36:29 +01:00
Claudio Ortolina
a63f2de60b
Use ->> instead of json_extract in queries
...
Improves readability of queries.
2025-06-06 21:05:44 +01:00
Claudio Ortolina
fd997e853f
Update artists when refreshing MusicBrainz data
2025-06-04 15:57:25 +01:00
Claudio Ortolina
27c1cc0eda
Import artist joinphrase
2025-06-03 18:16:47 +01:00
Claudio Ortolina
669b144c55
Find last listened track based on title and artist as well
2025-06-03 18:05:23 +01:00
Claudio Ortolina
c23260d03d
Show last listen at for each collected record
2025-06-03 15:57:12 +01:00
Claudio Ortolina
1f64c71efa
Apply quokka blocks rule
2025-05-28 19:51:54 +01:00
Claudio Ortolina
676c2e4290
Enable quokka with :module_directives rule
2025-05-28 19:41:57 +01:00
Claudio Ortolina
423d1e7764
Can sort wishlisted records by insertion
2025-05-26 23:12:34 +01:00
Claudio Ortolina
ad29b8f96d
Normalized search index
...
So that one can search for 'bjorn' and find 'Bjørn'
2025-05-25 09:26:01 +01:00
Claudio Ortolina
b6c554af34
Display rich release summary in form and details
2025-05-25 08:45:38 +01:00
Claudio Ortolina
7172551552
Poor man's rate limiting
2025-05-24 18:28:06 +01:00
Claudio Ortolina
ee808fb041
Add ability to refresh musicbrainz data async
2025-05-24 18:04:20 +01:00
Claudio Ortolina
b44693b022
Move Artist and ArtistInfo under Artists context
2025-05-23 20:11:57 +01:00
Claudio Ortolina
d38fcd6fee
Account for no artist country or area
2025-05-21 22:35:45 +01:00
Claudio Ortolina
051c6195b5
Harden release label display
2025-05-18 20:57:17 +01:00
Claudio Ortolina
083b245862
Fallback to country when areas have no country data
2025-05-16 10:25:22 +01:00
Claudio Ortolina
157b408341
Fix Artists.exists?/1 to account for multiple records
2025-05-13 10:22:23 +01:00
Claudio Ortolina
b831a2e1d7
Can scrobble individual discs
2025-05-10 09:46:07 +01:00
Claudio Ortolina
f223d6d739
Rename scrobble -> scrobble_release and tighten options check
2025-05-10 08:08:42 +01:00
Claudio Ortolina
80ec4336f6
Account for artist info areas having iso-3166-2-codes
2025-05-09 11:27:47 +01:00
Claudio Ortolina
ee4d9dd29a
Set the selected release id when scanning a wishlisted record
2025-05-09 10:10:33 +01:00
Claudio Ortolina
ebaaa8d95b
Sort releases in edit form select
2025-05-07 15:01:30 +01:00
Claudio Ortolina
fddc2dcbf0
Link Last.fm account from tracks
2025-05-07 11:26:41 +01:00
Claudio Ortolina
952d3388a1
Scrobble using finished_at time
2025-05-07 10:46:51 +01:00
Claudio Ortolina
a94c349781
Add context function to scrobble a release
2025-05-07 09:07:45 +01:00
Claudio Ortolina
95f71519d3
Store Last.fm API key with encrypted secret
2025-05-06 15:18:14 +01:00
Claudio Ortolina
0952bcd399
Use strftime to format date and datetimes
2025-05-04 17:23:33 +01:00
Claudio Ortolina
93e1fad88e
Make purchase order deterministic
...
Avoids ordering issues when records have the same purchased_at datetime
(which is what happens when they're scanned in batches).
2025-05-04 09:20:45 +01:00
Claudio Ortolina
cfe357239b
Refactor to move record release helpers to better places
2025-05-01 20:21:18 +01:00
Claudio Ortolina
bc213caa45
Store selected release id when scanning a record
2025-05-01 19:36:47 +01:00
Claudio Ortolina
3e7341d4ca
Support choosing a selected release
2025-05-01 17:42:40 +01:00
Claudio Ortolina
e083950138
Rename record.release to record.release_date
...
Includes changes to dependent tables (i.e. the record search index) and
related functions.
2025-05-01 14:04:57 +01:00
Claudio Ortolina
9fc729d5e1
Support secondary Discogs images
2025-04-29 18:56:48 +01:00
Claudio Ortolina
1c3efb262b
Return 404 for artist image requests without image data
2025-04-29 18:52:38 +01:00
Claudio Ortolina
818a416b1c
Prune artist info after deleting the artist's last record
2025-04-29 18:44:37 +01:00
Claudio Ortolina
fa49e73385
When creating a record, queue a job to fetch artist info
2025-04-29 16:56:22 +01:00
Claudio Ortolina
5e9fba824c
Refactor function to remove nested error handling
2025-04-29 16:11:05 +01:00
Claudio Ortolina
f1dd45e438
Show country flag for artist
2025-04-29 09:58:06 +01:00