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
Deluan
b855fe865e
Add artist ID to agent's interfaces
2021-02-09 11:19:32 -05:00
Deluan
7cc026ac35
Add some info about how to create new agents
2021-02-08 17:18:43 -05:00
Deluan
fefbe0b117
Cleanup, add Placeholder agent
2021-02-08 16:54:51 -05:00
Deluan
e5cbfac483
Implement TopSongs
2021-02-08 16:54:51 -05:00
Deluan
e1cb52689e
Implement SimilarSongs
2021-02-08 16:54:51 -05:00
Deluan
84a50d5dce
Use MBID in calls to Last.FM, if it is available
2021-02-08 16:54:51 -05:00
Deluan
6c1fc5f836
Clean names before calling agents
2021-02-08 16:54:51 -05:00
Deluan
a76a52e99a
Get MBID first, if it is not yet available
2021-02-08 16:54:51 -05:00
Deluan
52a407b84b
Clean up, comments and logs
2021-02-08 16:54:51 -05:00
Deluan
365dff6435
Fix lint errors
2021-02-08 16:54:51 -05:00
Deluan
877cdf1d5c
Get images
2021-02-08 16:54:51 -05:00
Deluan
28cdf1e693
Add a cached http client
2021-02-08 16:54:51 -05:00
Deluan
9d24106066
Incomplete implementation of agents
2021-02-08 16:54:51 -05:00
Deluan
6ee45a9ccc
Move project to Navidrome GitHub organization
2021-02-06 21:46:35 -05:00
Deluan
2f4a5fd9ae
Fix test suite name
2021-02-04 15:44:44 -05:00
Deluan
861b406575
Use new simplified `uuid.NewString()` syntax
2021-02-01 01:22:31 -05:00
Deluan
069199b2d8
Removed invalid comment
2021-01-03 18:16:37 -05:00
Deluan
29817db9f2
Simplify worker pool
2020-12-15 20:48:06 -05:00
Deluan
25ae1c6cdd
Return album art as a Reader
2020-12-02 09:13:36 -05:00
Deluan
0aaa261a71
Don't show warning about image cache disabled if pre-cache warmer is disabled
2020-12-02 08:52:35 -05:00
Zane van Iperen
763a3ef267
Fix startup failure when image cache is disabled.
...
Fixes #655
2020-11-22 17:03:09 -05:00
Jason Walton
69b2fe92f5
Fix aspect ratio for non-square album art.
2020-11-22 15:03:41 -05:00
Deluan
3c4903bc4e
No need to create a new instance of the Artwork service
2020-11-17 12:16:13 -05:00
Deluan
088af9004a
Only try to check cover art file for lastUpdated if fast access is not set
2020-11-16 16:39:31 -05:00
Deluan
9d7995fd4d
Redesign UserMenu, now with support for Gravatar
2020-11-13 00:40:30 -05:00
Deluan
9d2426a601
Use a better notation for exporting JS components and functions
2020-11-10 19:27:28 -05:00
Deluan
8d7931b3bc
Fix "seekable" log message (was always "false")
2020-11-05 18:11:12 -05:00
Deluan
a6bd9f627e
Make new cache layout the default
2020-11-04 23:25:38 -05:00
Deluan
2f56f1b178
Use new fscache's SetKeyMapper
...
See a0daa9e527
2020-11-03 12:52:44 -05:00
Deluan
cfad35544b
Add artistImageUrl available in getArtists endpoint
...
Also cache artist info in the DB for 1 hour
2020-11-01 14:37:29 -05:00
Deluan
6c0778a867
Add log to pool
2020-10-31 01:13:36 -04:00
Deluan
58d6b0a84f
Cache Warmer now waits for Cache to be available
2020-10-31 00:40:21 -04:00
Deluan
ba8d2f5da8
Log when a cache has finished loading
2020-10-30 00:33:39 -04:00
Deluan
f1a24b971a
Use timestamp of artwork file instead of album's UpdatedAt in the cache key
2020-10-29 23:19:26 -04:00
Deluan
d913108de2
Add option to disable track cover art. Should help with cloud mounting (rclone)
2020-10-29 10:57:33 -04:00
Deluan
1e57852eff
Make pool's queue buffered. Workaround while we don't put the queue in disk
2020-10-27 20:12:27 -04:00
Deluan
9b756faef5
Make caches singletons
2020-10-27 18:20:50 -04:00
Deluan
515528ee6d
Disable flaky test
2020-10-27 16:07:53 -04:00
Deluan
216491815c
Increased pool test timeout (hate time based tests...)
2020-10-27 15:58:13 -04:00
Deluan
0f418a93cd
Completely removed engine package, fewer abstraction layers \o/
2020-10-27 15:27:37 -04:00
Deluan
d0bf37a8a9
Move mock datastore to tests package
2020-10-27 15:23:49 -04:00
Deluan
313a088f86
Make mocks strongly typed
2020-10-27 15:23:49 -04:00
Deluan
6152fadd92
Removed list_generator completely
2020-10-27 15:23:48 -04:00
Deluan
acba4b16ee
Add test for pool
2020-10-27 15:23:48 -04:00
Deluan
c1fb32cedb
Replace unicode quotes and dash with simple ascii chars
...
External services do not use these unicode chars. Ex:
- “Weird Al” Yankovic
- Bachman–Turner Overdrive
- The Go‐Go’s
are not found in Last.FM and Spotify
2020-10-27 00:13:39 -04:00
Deluan
95cc211659
Revert "Make caches singletons"
2020-10-26 10:11:47 -04:00
Deluan
bf5318d776
Add flag to enable new cache layout
2020-10-26 09:54:36 -04:00
Deluan
81d7556cdf
Make caches singletons
2020-10-25 23:22:52 -04:00
Deluan
1e56f4da76
Add simple cache warmer, disabled by default
2020-10-25 23:22:52 -04:00
Deluan
197d4024f7
Add dedicated Item interface for cache items
2020-10-25 23:22:52 -04:00
Deluan
7eaa42797a
Uses cached original image when requesting a resized image
2020-10-25 23:22:52 -04:00
Deluan
d39bd0219a
Fix cache key-mapping
2020-10-25 23:22:52 -04:00
Deluan
9f533b2108
New Cache FileSystem implementation
2020-10-25 23:22:52 -04:00
Deluan
6d08a9446d
Fix test suite name
2020-10-23 21:43:33 -04:00
Deluan
1cd2f015c2
Get Similar Artists in parallel
...
Also don't fail `GetArtistInfo` when Last.FM is not configured
2020-10-21 21:44:03 -04:00
Deluan
69e1059705
Prefer starred and high rated versions for Top Songs
2020-10-21 15:11:26 -04:00
Deluan
075c28d2e5
Fix performance and precision of TopSongs
2020-10-21 14:07:01 -04:00