Commit Graph

54 Commits

Author SHA1 Message Date
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
Claudio Ortolina 7b8bb61705 Refresh feed once a minute 2024-11-04 12:22:51 +00:00
Claudio Ortolina 065ca4bf7c Make stats feed update automatically 2024-11-04 12:22:23 +00:00