Deluan
f49205733b
Add feature flag for buffered scrobbling
2021-07-02 10:04:41 -04:00
Deluan
cfb113bd33
Disable Last.FM features based on LastFM.Enabled
config option
2021-07-02 10:04:41 -04:00
Deluan
289da56f64
Implement Scrobble buffering/retrying
2021-07-02 10:04:41 -04:00
Deluan
92634a7408
Only show message after 2 seconds, giving time for the browser to close it first
2021-06-25 22:23:35 -04:00
Deluan
ee21f3957e
Pass userId explicitly to UserPropsRepository methods
2021-06-25 22:21:37 -04:00
Deluan
0cbb0acad3
Skip songs with less than 31 seconds, as per Last.fm specification
...
See https://www.last.fm/api/scrobbling#when-is-a-scrobble-a-scrobble
2021-06-23 21:08:01 -04:00
Deluan
abe8015745
Add option to disable external scrobbling per player
2021-06-23 17:55:58 -04:00
Deluan
5001518260
Move user properties (like session keys) to their own table
2021-06-23 17:49:32 -04:00
Deluan
99be8444d3
Disable completely external scrobblers if feature is disabled (DevEnableScrobble
)
2021-06-23 11:01:58 -04:00
Deluan
056f0b944f
Refactor: Consolidate scrobbling logic in play_tracker
2021-06-23 11:01:58 -04:00
Deluan
76acd7da89
Don't send scrobbles/nowPlaying updates to Last.fm if user has not authorized
2021-06-23 11:01:58 -04:00
Deluan
8af7dab23d
Fix wrong warning about ignored NowPlaying
2021-06-23 11:01:58 -04:00
Deluan
a7509c9ff7
Send NowPlaying and Scrobbles to Last.fm
2021-06-23 11:01:58 -04:00
Deluan
d5461d0ae9
Refactor Agents to be singleton
...
Initial work for Last.fm scrobbler
2021-06-23 11:01:58 -04:00
Steve Richter
f9fa9667a3
Show user-friendly message when error occurs in Last.fm callback endpoint
2021-06-23 11:01:58 -04:00
Steve Richter
5fbfd9c81e
Implement Last.fm account linking UI
2021-06-23 11:01:58 -04:00
Deluan
743e469795
Use singleton in other places as well
2021-06-21 18:59:26 -04:00
Deluan
1f997357a9
Expose Last.fm's ApiKey to UI
2021-06-21 18:14:01 -04:00
Deluan
143cde37e5
Implement Last.FM Web authentication flow
2021-06-21 18:14:01 -04:00
Deluan
502a719e96
Implement Last.FM Desktop Auth flow endpoints
2021-06-21 18:14:01 -04:00
Deluan
0495e421fe
Fix Last.fm API method signature
2021-06-21 18:14:01 -04:00
Deluan
a4f91b74d2
Add Last.FM Authentication methods
2021-06-21 18:14:01 -04:00
Deluan
80b2c2f3cf
Try to register all playing music in GetNowPlaying
2021-06-20 11:25:15 -04:00
Deluan
97434c1789
Fix GetNowPlaying endpoint showing only the last play
2021-06-20 10:39:19 -04:00
Deluan
f8ee6db72a
New implementation of NowPlaying
2021-06-20 10:39:16 -04:00
Deluan
bed2f017af
Fix index of songs in downloaded playlist
2021-06-12 23:02:34 -04:00
Deluan
b445cdd641
Use a dedicated api-key/secret pair for Last.FM
2021-06-10 15:07:06 -04:00
Deluan
f9eec5e4dc
Refactored agents calling into its own struct
2021-06-08 17:00:02 -04:00
Deluan
6c1ba8f0d0
Add tests to core.Share
2021-06-08 16:32:08 -04:00
Deluan
110e17b004
Make MockRepo names more consistent
2021-06-08 16:30:19 -04:00
Yash Jipkate
af210c8903
Add Native Sharing REST API ( #1150 )
...
* Initial draft - UNTESTED
* changes to Save() and Update()
* apply col filter and limit nanoid
* remove columns to not update
2021-06-08 15:44:30 -04:00
Deluan
e80cf80d05
Move all Spotify and LastFM code into only one folder for each
2021-06-08 11:25:46 -04:00
Deluan
c5abdc19bc
Fix recursive bug in Last.FM calls without mbid
2021-05-30 22:46:23 -04:00
Deluan
7bbb09e546
Add tests for WeightedRandomChooser
2021-05-28 23:51:56 -04:00
Deluan
dd56a7798e
Rename variable with conflicting name
2021-05-28 23:00:39 -04:00
Deluan
a38e478a47
Better SimilarSongs algorithm
2021-05-28 22:55:34 -04:00
Deluan
01f3ce0228
Add a timeout to background task
2021-05-28 11:37:53 -04:00
Deluan
48b6fa7feb
Don't use request's context when refreshing artist info in background
2021-05-28 09:34:15 -04:00
Deluan
ed01946ace
Embed Last.FM error responses, making the tests faster
2021-05-27 21:04:03 -04:00
Deluan Quintão
89b12b34be
Retry calls to Last.FM without MBIDs when if returns artist invalid ( #1138 )
...
* Call Last.FM's getInfo again without mbid when artist is not found
* Call Last.FM's getSimilar again without mbid when artist is not found
* Call Last.FM's getTopTracks again without mbid when artist is not found
2021-05-27 20:53:24 -04:00
Deluan
4e0177ee53
Always update artist info, even if info is fresh
2021-05-27 20:32:26 -04:00
Deluan
b398053223
Include a shared Last.FM api key, providing zero conf ArtistInfo (bio/top songs/similar artists)
2021-05-27 16:14:24 -04:00
Deluan
22ce5b6282
Removed unnecessary code
2021-05-11 18:55:58 -04:00
Deluan
7d96167abc
Upgrade to go-chi 5
2021-05-11 17:21:18 -04:00
Deluan
bc62efb059
More auth tests
2021-04-30 10:00:03 -04:00
Deluan
bcda53f115
Less waiting for cache to be ready
2021-04-29 13:58:01 -04:00
Deluan
a35de2bfd1
Allow regular users to change their info, including password.
...
Should fix #199
2021-04-28 22:35:25 -04:00
Deluan Quintão
2d528bbc87
Remove dependency of go-bindata ( #818 )
...
* Use new embed functionality for serving UI assets
* Use new embed functionality for serving resources. Remove dependency on go-bindata
* Remove Go 1.15
2021-03-12 11:06:51 -05:00
Deluan
157faad028
Rename ExternalInfo to ExternalMetadata
2021-02-09 15:33:33 -05:00
Deluan
5fdd8b32d7
Move utilitarian/generic packages to utils: lastfm, spotify, gravatar, cache, and pool
2021-02-09 15:33:33 -05:00