Deluan
f82df70302
Add nilerr linter
2022-09-30 20:18:14 -04:00
Deluan
77dbafff0f
Add errorlint linter
2022-09-30 19:33:39 -04:00
Deluan
db67c1277e
Fix error comparisons
2022-09-30 18:54:25 -04:00
Andy Klimczak
2f7a3c5eda
feat: Add listenbrainz base url configuration ( #1774 )
...
* feat: Add listenbrainz base url configuration
- ListenBrainz.BaseURL config value
* Don't need to store baseUrl
* Use `url.JoinPath` to concatenate url paths
* Replace url.JoinPath (Go 1.19 only) with custom function
Co-authored-by: Deluan <deluan@navidrome.org>
2022-09-27 21:06:28 -04:00
Deluan
d613b19306
Simplify Singleton usage by leveraging Go 1.18's generics
2022-07-27 12:15:05 -04:00
Deluan
31882abf6f
Upgrade Ginkgo to V2
2022-07-26 16:53:17 -04:00
Deluan
028723f721
Fix loading overridden translations from ${DataFolder}/resources/i18n
2022-02-10 14:56:39 -05:00
Deluan
20cdd38fc4
Better logging for agents configuration
2021-11-25 15:48:32 -05:00
Deluan
ce7940bbfc
Allow overriding name
and comment
when importing NSP playlists
2021-11-19 19:14:38 -05:00
Steve Richter
3bd6f82c80
Rename ListenBrainz config flag and enable by default ( #1443 )
2021-11-17 21:11:53 -05:00
Deluan
0d9dcebf32
Fix playlist cannot be empty via Subsonic API
2021-11-05 10:23:45 -04:00
Deluan
d3a2f769b7
Better logging of GetSimilar call
2021-11-03 15:59:16 -04:00
Deluan
68a84ec832
Smarter cache of external info calls (last.fm / spotify)
2021-11-03 14:13:50 -04:00
Deluan
053909196c
More info in scrobbling logs
2021-11-02 12:25:29 -04:00
Deluan
778f474d26
Use new rest
lib (Update receives all columns that need to be updated)
2021-11-01 21:27:36 -04:00
Deluan
e7202339af
Ignore empty lines in M3U files
2021-10-31 20:43:30 -04:00
Deluan
133fed344f
Add owner_id
to playlist
2021-10-31 15:08:06 -04:00
Steve Richter
a56d5bc850
Listenbrainz scrobbling ( #1424 )
...
* Refactor session_keys to its own package
* Adjust play_tracker
- Don't send external NowPlaying/Scrobble for tracks with unknown artist
- Continue to the next agent on error
* Implement ListenBrainz Agent and Auth Router
* Implement frontend for ListenBrainz linking
* Update listenBrainzRequest
- Don't marshal Player to json
- Rename Track to Title
* Return ErrRetryLater on ListenBrainz server errors
* Add tests for listenBrainzAgent
* Add tests for ListenBrainz Client
* Adjust ListenBrainzTokenDialog to handle errors better
* Refactor listenbrainz.formatListen and listenBrainzRequest structs
* Refactor agent auth_routers
* Refactor session_keys to agents package
* Add test for listenBrainzResponse
* Add tests for ListenBrainz auth_router
* Update ListenBrainzTokenDialog and auth_router
* Adjust player scrobble toggle
2021-10-30 12:17:42 -04:00
Deluan
66a9cbb7d9
Remove temp folders after tests
2021-10-28 10:40:31 -04:00
Deluan
f645c4769c
Fix double escaped lyrics and comments
2021-10-26 19:33:21 -04:00
Deluan
63b5191ea7
Fix lint
2021-10-26 10:57:59 -04:00
Deluan
af00503b77
Optimize playlist updates
2021-10-26 10:45:14 -04:00
Deluan
76fdcd112b
Tweak SimilarSongs algorithm to prioritize the requested main artist
2021-10-24 18:04:40 -04:00
Deluan
18e1c169f9
Don't read the whole smart playlist file in memory
2021-10-24 14:41:08 -04:00
Deluan
cc1659aa73
Better way to match top songs from external sources (Last.fm)
2021-10-23 20:26:30 -04:00
Deluan
c73f64ee3a
Removed unused code
2021-10-23 20:25:28 -04:00
Deluan
806b13cf42
Update stats of Smart Playlist when it is created
...
Also fix loadTracks
2021-10-23 20:25:28 -04:00
Deluan
2c860edeb5
Don't import invalid .nsp
files
2021-10-23 20:25:28 -04:00
Deluan
6a550dab77
Use new Criteria and remove SmartPlaylist struct
2021-10-23 20:25:28 -04:00
Deluan
1a96e9fe65
Import smart playlists (extension .nsp)
2021-10-23 20:25:28 -04:00
Deluan
c72add516a
Add methods to Playlist model
...
Also, don't load genres for Playlists tracks (not necessary for now)
2021-10-23 20:25:28 -04:00
Deluan
d200933b68
Reduce number of queries for some playlists operations.
...
Also allow admins to update/delete playlists from other users in the Subsonic API. Closes #1366
2021-10-23 20:25:28 -04:00
Tucker Kern
fb11080545
Improve performance of placeholder images ( #1325 )
...
* Don't include updatedAt field when fetching album art placeholder. This will allow browers to cache the place holder
* Apply resizing to placeholder image
* Fix issues discovered by CI linter and prettier
* Updates from PR review
2021-09-06 22:34:37 -04:00
Deluan
c2927e105b
Fix loadSimilar method, was causing "internal error". Fix #1293
2021-08-21 19:37:00 -04:00
Deluan
05e27095b2
Fix getTopSongs endpoint
2021-08-19 08:17:22 -04:00
Deluan
86c0b422f6
Small refactorings
2021-07-21 12:46:30 -04:00
Deluan
8afa2cd833
Remove dependency of deprecated ioutil
package
2021-07-20 20:12:28 -04:00
Deluan
7540881695
Small refactorings
2021-07-20 19:18:29 -04:00
Deluan
1d8607ef6a
Remove unnecessary repositories methods
2021-07-20 17:45:08 -04:00
Deluan
03ad6e972a
Removed unused attributes in Last.fm responses
2021-07-16 21:06:47 -04:00
Deluan
b0fc684cb6
Fix small lint errors found by gocritic
2021-07-15 13:43:03 -04:00
Deluan
114fdce09e
Fix Last.fm's artist.getInfo
2021-07-03 21:48:53 -04:00
Deluan
26b5e6b1b4
Better scrobble log message when buffer is disabled
2021-07-02 10:19:16 -04:00
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