Claudio Ortolina
46681deca9
Improve track refresh logic
2025-06-02 21:00:44 +01:00
Claudio Ortolina
3e9c719ce8
LastFm pull 100 tracks as a default
2025-06-02 20:53:04 +01:00
Claudio Ortolina
c4fa389e5d
Remove obsolete HACK comment
2025-06-01 14:18:25 +01:00
Claudio Ortolina
1703f1cf70
Use stored scrobbled tracks
2025-05-31 21:44:54 +01:00
Claudio Ortolina
32956ca593
Backfill faster
2025-05-31 20:55:13 +01:00
Claudio Ortolina
d3855d989a
Tweak Last.Fm API timeouts for batch operations
2025-05-31 20:54:56 +01:00
Claudio Ortolina
b191d87dfd
Fix scrobble tracks schema
...
Remove the primary key, and just set a unique index on scrobbled time
and title, which allows skipping duplicates.
2025-05-31 20:54:37 +01:00
Claudio Ortolina
54ee77995a
Avoid primary key clashes
2025-05-31 20:24:29 +01:00
Claudio Ortolina
750f0a74d1
Add logic to backfill scrobbled_tracks
...
Chokes on duplicate primary keys
2025-05-31 20:12:36 +01:00
Claudio Ortolina
a27b38f192
Add logic to import a batch of Last.fm tracks
2025-05-31 16:16:24 +01:00
Claudio Ortolina
d01d16f1ae
Add infrastructure to persist scrobble tracks to database
...
Unused for now.
2025-05-31 08:16:32 +01:00
Claudio Ortolina
46ffa375af
Use embedded schemas for LastFm track, artist and album
...
Preparation for persisting the scrobble activity to database
2025-05-30 17:01:12 +01:00
Claudio Ortolina
06511f89db
Cache Last.fm tracks raw data when parsing api response
2025-05-30 16:52:07 +01:00
Claudio Ortolina
ae34909c1f
Apply quokka single_node rule
2025-05-28 19:50:06 +01:00
Claudio Ortolina
774f1c82e5
Apply quokka pipes rule
2025-05-28 19:48:35 +01:00
Claudio Ortolina
676c2e4290
Enable quokka with :module_directives rule
2025-05-28 19:41:57 +01:00
Claudio Ortolina
cbf12e6026
Add documentation for LastFm.Session parsing
2025-05-26 23:24:31 +01:00
Claudio Ortolina
a2cec1fdb9
Improve clarity fo comment
2025-05-26 23:21:34 +01:00
Claudio Ortolina
64d99af9dc
Remove redundant Last.fm req option which causes timeouts
2025-05-13 06:54:41 +01:00
Claudio Ortolina
bed107b031
Reduce Last.fm API pool idle timeout time to force re-connections
...
Changing the maximum number of milliseconds that a pool can be idle
before being terminated, Setting it to a low value so that it gets
terminated and we don't get failures after the vm resumes.
2025-05-09 09:18:01 +01:00
Claudio Ortolina
8477517e5c
Add LastFm.Scrobble abstraction
2025-05-07 09:02:52 +01:00
Claudio Ortolina
fcdae8f925
Extract LastFm.API.Signature
2025-05-07 08:31:39 +01:00
Claudio Ortolina
c7491719e3
Extract LastFm.API.ErrorResponse
2025-05-07 08:24:47 +01:00
Claudio Ortolina
83d13da679
Can scrobble track maps
2025-05-07 08:11:44 +01:00
Claudio Ortolina
d5b29b20bb
Store last fm information into session (doesn't work yet)
2025-05-05 20:58:37 +01:00
Claudio Ortolina
95e80bc432
Parse Last.fm session
2025-05-05 20:25:30 +01:00
Claudio Ortolina
299cc468b6
Add Last.Fm function to get session
2025-05-05 20:07:18 +01:00
Claudio Ortolina
7c547f2d80
Redirect to Last.fm and receive a token (unused)
2025-05-05 19:19:12 +01:00
Claudio Ortolina
3f4e2bc975
Link to Last.fm events from "On Tour" badge
2025-04-11 10:27:45 +01:00
Claudio Ortolina
9f13d090ed
Use more precise types
2025-04-07 19:27:17 +01:00
Claudio Ortolina
1d2d72b8ce
Improve retry strategies for Last.fm refresh
2025-04-06 20:52:57 +01:00
Claudio Ortolina
bc72ab7e7f
Document Last.fm refresh module
2025-04-03 09:44:42 +01:00
Claudio Ortolina
828f1667bf
Remove unused LastFm.Feed functions
2025-03-14 11:53:54 +00:00
Claudio Ortolina
0020687f7b
Include artist information in all albums feed
2025-03-11 08:48:17 +00:00
Claudio Ortolina
ec10447ca0
Extend Last.fm Feed album/artist functions
2025-03-10 17:53:19 +00:00
Claudio Ortolina
500455481f
Set the LastFm http client to terminate idle connections after 30 secs
...
This change attempts at solving the issue of the application being woken
up after suspension and being unable to talk to the LastFm API (i.e.
throwing plenty of Mint/timeout errors).
The theory is that with this setting the application should quickly
enough restart the pool after waking up.
2025-03-01 07:25:05 +00:00
Claudio Ortolina
47bfe736ef
Remove unused LastFm.Finch pool
2025-02-27 16:29:34 +00:00
Claudio Ortolina
7ac2f7a815
Remove LastFm.APIBehaviour
2025-02-27 13:43:49 +00:00
Claudio Ortolina
3d11cd585d
Use built-in Req stub for LastFm tests
2025-02-27 13:43:49 +00:00
Claudio Ortolina
522b3034aa
Rewrite LastFm.APIImpl using Req
2025-02-27 13:43:48 +00:00
Claudio Ortolina
eb6d49fe96
Allow longer LastFm refresh times
2025-02-27 13:43:48 +00:00
Claudio Ortolina
825c00dd50
Add summary to artist
2025-02-23 18:53:28 +00:00
Claudio Ortolina
c67d11da0c
Show similar artists in artist page
...
Styling to be defined - only links for now.
2025-02-23 16:56:52 +00:00
Claudio Ortolina
828563e933
Shorten timeouts for Last.fm api
...
Especially when the application wakes up from suspension, requests tend
to timeout.
2025-02-09 08:07:27 +00:00
Claudio Ortolina
0d77fdc031
Display badge when an artist is touring
2025-01-25 08:50:46 +00:00
Claudio Ortolina
8bf3de9b55
Enforce keys for all structs
2025-01-24 10:35:58 +00:00
Claudio Ortolina
e3c901346c
Use https in the Last.Fm api
...
Can't believe I let this slip through.
2025-01-07 10:03:21 +00:00
Claudio Ortolina
16e8282891
Fix typing for config modules
2025-01-03 18:52:43 +00:00
Claudio Ortolina
db57195a0a
Map Last.fm error codes to error atoms
2024-12-27 19:54:10 +00:00
Claudio Ortolina
9dce1cacb9
Where possible, use built-in JSON instead of Jason
...
Note that it's not possible to replace any call where we encode and
pretty print, as JSON doesn't have such functionality.
2024-12-19 20:18:09 +00:00