Commit Graph

73 Commits

Author SHA1 Message Date
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
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