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
Claudio Ortolina
76605a1114
Add function to get similar artists
2024-12-17 20:44:31 +00:00
Claudio Ortolina
3409ba6d6b
Fix typings on config modules
2024-12-11 23:53:29 +03:00
Claudio Ortolina
c2ccb7dde2
Add LastFm.Feed.all_artists/0 and LastFm.Feed.all_albums/0
2024-12-10 14:57:28 +03:00
Claudio Ortolina
a6e1e4e34a
Renamte LastFm.Feed.all/0 to LastFm.Feed.all_tracks/0
2024-12-10 14:57:06 +03:00
Claudio Ortolina
8350ffd3a4
To get artist info, try mbid and then artist name
2024-12-04 21:07:56 +00:00
Claudio Ortolina
774c8d6006
Use NimbleOptions to validate LastFm.Config
2024-12-04 14:58:05 +00:00
Claudio Ortolina
14518870a0
Make LastFm user agent configurable
2024-12-04 10:07:25 +00:00
Claudio Ortolina
0cae20a390
Add LastFm.Config test
...
It might seem redundant, but helps with refactoring down the line.
2024-12-04 09:58:42 +00:00
Claudio Ortolina
2c055acad6
Fix error in rendering an artist with empty bio
...
Includes a refactor for a helper to test for play count
2024-12-03 22:26:41 +00:00
Claudio Ortolina
61cda5a62c
Explicitly set auto-refresh config for LastFm refresh
2024-12-03 19:58:17 +00:00
Claudio Ortolina
26e96994a4
Use full content for bio
2024-12-03 09:58:24 +00:00
Claudio Ortolina
669d2558d4
No need to expose LastFm.Config.new/1
2024-12-03 09:40:17 +00:00
Claudio Ortolina
916c381ed0
Add TODO
2024-12-03 09:40:17 +00:00
Claudio Ortolina
ab7a8eeb5a
Add play count to LastFm.Artist
2024-12-03 09:40:17 +00:00
Claudio Ortolina
2094c1cf7b
Use LastFm.Config where needed
2024-12-03 09:18:55 +00:00
Claudio Ortolina
b49434b789
Extract LastFm.Config module
2024-12-03 08:56:23 +00:00
Claudio Ortolina
797f30b9a4
Tag Last.fm errors as errors
...
Because they're always returned as 200 responses with custom error codes
(sigh).
2024-12-02 21:36:18 +00:00
Claudio Ortolina
2d721774d6
Can fetch an artist info from Last.fm
2024-12-02 12:40:07 +00:00
Claudio Ortolina
c65a29c252
Use more restrictive LastFm request timeouts
...
Experimental: metrics show some long running requests
that end up hitting timeouts (at default values),
so we make them shorter to leverage retries
2024-11-30 20:21:51 +00:00