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
Claudio Ortolina
516dedc4c1
Restructure Refresh to allow for forced sync refresh
2024-11-19 16:21:50 +00:00
Claudio Ortolina
2d89c90dfb
Update comment as TODO
2024-11-18 16:50:51 +00:00
Claudio Ortolina
1936075bc0
Add API to refresh the LastFm feed
2024-11-17 21:35:06 +00:00
Claudio Ortolina
c7b9aadb70
Add types and specs for LastFm module
2024-11-11 20:51:00 +00:00
Claudio Ortolina
7048e86990
Show last 50 scrobbles
2024-11-10 13:07:45 +00:00
Claudio Ortolina
2d9846fc1c
Use select_reverse instead of select |> reverse
2024-11-09 16:19:55 +00:00
Claudio Ortolina
aa44bf52d9
Remove duplication from LastFm.Refresh module
2024-11-09 13:55:23 +00:00
Claudio Ortolina
64193858a6
Use dedicated http client pool for LastFm
2024-11-07 20:58:40 +00:00
Claudio Ortolina
18ae8b7866
Refactor last_fm configuration
...
Move all configuration outside of the LastFm module, so that it's not
polluted with references to the parent music_library application.
2024-11-06 12:09:38 +00:00
Claudio Ortolina
5674937ab0
Use larger artwork for scrobble activity
2024-11-05 09:32:08 +00:00
Claudio Ortolina
923b3f071d
Use streams for scrobbled tracks
2024-11-04 22:21:31 +00:00