Deluan
ea2e3b692d
Fix Last.fm's artist.getInfo
2026-01-02 20:05:07 +00:00
Deluan
ff61d5f630
Better scrobble log message when buffer is disabled
2026-01-02 20:05:07 +00:00
Deluan
5f9c7d1507
Add feature flag for buffered scrobbling
2026-01-02 20:05:07 +00:00
Deluan
75cc2580b7
Disable Last.FM features based on LastFM.Enabled config option
2026-01-02 20:05:07 +00:00
Deluan
6d46689622
Implement Scrobble buffering/retrying
2026-01-02 20:05:07 +00:00
Deluan
b23918816d
Only show message after 2 seconds, giving time for the browser to close it first
2026-01-02 20:05:06 +00:00
Deluan
6a254c8b67
Pass userId explicitly to UserPropsRepository methods
2026-01-02 20:05:06 +00:00
Deluan
33447c73b6
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
2026-01-02 20:05:05 +00:00
Deluan
006b8d0d4a
Add option to disable external scrobbling per player
2026-01-02 20:05:05 +00:00
Deluan
a52a88d1d7
Move user properties (like session keys) to their own table
2026-01-02 20:05:05 +00:00
Deluan
541411322c
Disable completely external scrobblers if feature is disabled (DevEnableScrobble)
2026-01-02 20:05:05 +00:00
Deluan
ffd1aa7e89
Refactor: Consolidate scrobbling logic in play_tracker
2026-01-02 20:05:05 +00:00
Deluan
c0f5b6950f
Don't send scrobbles/nowPlaying updates to Last.fm if user has not authorized
2026-01-02 20:05:04 +00:00
Deluan
6dbeb8fedf
Fix wrong warning about ignored NowPlaying
2026-01-02 20:05:04 +00:00
Deluan
5db24ff145
Send NowPlaying and Scrobbles to Last.fm
2026-01-02 20:05:04 +00:00
Deluan
0a9f6cb807
Refactor Agents to be singleton
...
Initial work for Last.fm scrobbler
2026-01-02 20:05:04 +00:00
Steve Richter
489d0c54eb
Show user-friendly message when error occurs in Last.fm callback endpoint
2026-01-02 20:05:04 +00:00
Steve Richter
0ecc4b5fd0
Implement Last.fm account linking UI
2026-01-02 20:05:04 +00:00
Deluan
883d316670
Use singleton in other places as well
2026-01-02 20:05:04 +00:00
Deluan
c0c229ad72
Expose Last.fm's ApiKey to UI
2026-01-02 20:05:04 +00:00
Deluan
aa20f7d68e
Implement Last.FM Web authentication flow
2026-01-02 20:05:04 +00:00
Deluan
f468522c72
Implement Last.FM Desktop Auth flow endpoints
2026-01-02 20:05:04 +00:00
Deluan
00834e5e6a
Fix Last.fm API method signature
2026-01-02 20:05:04 +00:00
Deluan
fa7179dc7a
Add Last.FM Authentication methods
2026-01-02 20:05:03 +00:00
Deluan
0057c9f38a
Try to register all playing music in GetNowPlaying
2026-01-02 20:04:23 +00:00
Deluan
1ac077cf22
Fix GetNowPlaying endpoint showing only the last play
2026-01-02 20:04:23 +00:00
Deluan
7b4b6f8130
New implementation of NowPlaying
2026-01-02 20:04:23 +00:00
Deluan
ff27de46c6
Fix index of songs in downloaded playlist
2026-01-02 19:33:05 +00:00
Deluan
7339e1602f
Use a dedicated api-key/secret pair for Last.FM
2026-01-02 19:32:17 +00:00
Deluan
df6f611377
Refactored agents calling into its own struct
2026-01-02 19:32:16 +00:00
Deluan
4fb54d0bca
Add tests to core.Share
2026-01-02 19:32:16 +00:00
Deluan
969e3a91d2
Make MockRepo names more consistent
2026-01-02 19:32:16 +00:00
Yash Jipkate
d910beea75
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
2026-01-02 19:32:11 +00:00
Deluan
05b91cae0d
Move all Spotify and LastFM code into only one folder for each
2026-01-02 19:31:53 +00:00
Deluan
a71740dec7
Fix recursive bug in Last.FM calls without mbid
2026-01-02 19:31:52 +00:00
Deluan
8b6e29e9c2
Add tests for WeightedRandomChooser
2026-01-02 19:31:51 +00:00
Deluan
5c8708daec
Rename variable with conflicting name
2026-01-02 19:31:51 +00:00
Deluan
4bbd2a720c
Better SimilarSongs algorithm
2026-01-02 19:31:51 +00:00
Deluan
8149e99dda
Add a timeout to background task
2026-01-02 19:31:51 +00:00
Deluan
49dc6116f7
Don't use request's context when refreshing artist info in background
2026-01-02 19:31:51 +00:00
Deluan
887ad99e07
Embed Last.FM error responses, making the tests faster
2026-01-02 19:31:51 +00:00
Deluan Quintão
48ca8e3174
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
2026-01-02 19:31:51 +00:00
Deluan
8fdab93efa
Always update artist info, even if info is fresh
2026-01-02 19:31:51 +00:00
Deluan
5970f18249
Include a shared Last.FM api key, providing zero conf ArtistInfo (bio/top songs/similar artists)
2026-01-02 19:31:51 +00:00
Deluan
a7a7d23883
Removed unnecessary code
2026-01-02 19:31:09 +00:00
Deluan
3e56e834a4
Upgrade to go-chi 5
2026-01-02 19:31:07 +00:00
Deluan
a2ca6eb67d
More auth tests
2026-01-02 19:26:41 +00:00
Deluan
b9e8ae07d3
Less waiting for cache to be ready
2026-01-02 19:26:41 +00:00
Deluan
2f64ee09f3
Allow regular users to change their info, including password.
...
Should fix #199
2026-01-02 19:26:41 +00:00
Deluan Quintão
165af5b850
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
2026-01-02 19:22:04 +00:00