Deluan
c81ecbd96e
Add tests to /scrobble endpoint
2026-01-02 20:05:06 +00:00
Deluan
ffd1aa7e89
Refactor: Consolidate scrobbling logic in play_tracker
2026-01-02 20:05:05 +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
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 Quintão
5590fa3550
Encrypt passwords in DB ( #1187 )
...
* Encode/Encrypt passwords in DB
* Only decrypts passwords if it is necessary
* Add tests for encryption functions
2026-01-02 20:04:16 +00:00
Deluan
1542362898
Optimize refresh events for scrobble endpoint
2026-01-02 20:03:21 +00:00
Deluan
59a38332a4
Refech using getMany, reducing the number of API calls
2026-01-02 20:03:21 +00:00
Deluan
8e32b56ea0
Only send events to clients who need it
...
- User events (star, rating, plays) only sent to same user
- Don't send to the client (browser window) that originated the event
2026-01-02 20:02:35 +00:00
Deluan
81b87e9ff6
Only refetch changed resources when receive a "refreshResource" event
2026-01-02 20:02:34 +00:00
Deluan Quintão
5be15bb98b
Refactor routing, changes API URLs ( #1171 )
...
* Make authentication part of the server, so it can be reused outside the Native API
This commit has broken tests after a rebase
* Serve frontend assets from `server`, and not from Native API
* Change Native API URL
* Fix auth tests
* Refactor server authentication
* Simplify authProvider, now subsonic token+salt comes from the server
* Don't send JWT token to UI when authenticated via Request Header
* Enable ReverseProxyWhitelist to be read from environment
2026-01-02 20:00:31 +00:00
Deluan
ea6a9f5701
Only send "refresh" event if SetRating was successful
2026-01-02 19:32:17 +00:00
Deluan
cc789ed92b
Trigger UI refresh on media annotation events: star, setRating and scrobble
2026-01-02 19:32:17 +00:00
Deluan
969e3a91d2
Make MockRepo names more consistent
2026-01-02 19:32:16 +00:00
Deluan
a91dd4716a
Fix updatePlaylist not updating fields comment and public.
...
Fix #1140
2026-01-02 19:31:52 +00:00
Deluan
82be448d37
GetCoverArt returns placeholder if id is missing
...
This mimics Subsonic behaviour, even if it contradicts the API documentation, which states `id` is required
Fixes #1139
2026-01-02 19:31:52 +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
749ef07a01
Fix Bookmarks Subsonic support ( #1099 )
...
JSON responses were incorrect
2026-01-02 19:26:44 +00:00
Deluan
2531df5f97
Fix DevAutoCreateAdminPassword
2026-01-02 19:26:42 +00:00
Deluan
e7082df09e
Add support for artist 5-star rating in Subsonic API
2026-01-02 19:26:36 +00:00
Yash Jipkate
77e6b3bb78
Add / to _ mapping for paths based on tags. ( #888 )
...
Closes #592
2026-01-02 19:23:04 +00:00
Deluan
77e31b27b9
Add option to sort Recently Added by file's mtime instead of time of import.
2026-01-02 19:22:06 +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
Deluan
8be485ab3e
Update list of Not Implemented / Gone Subsonic API endpoints
2026-01-02 19:21:28 +00:00
Deluan
fdd9a94144
Rename ExternalInfo to ExternalMetadata
2026-01-02 19:21:28 +00:00
Deluan
0a94249d38
Move utilitarian/generic packages to utils: lastfm, spotify, gravatar, cache, and pool
2026-01-02 19:21:28 +00:00
Deluan
10cf2372f8
Move project to Navidrome GitHub organization
2026-01-02 19:20:16 +00:00
Deluan
6acf2becb0
Logging when triggering manual scan
2026-01-02 19:20:15 +00:00
Deluan
f708686485
Use tools.go commands without installing
2026-01-02 19:20:14 +00:00
Deluan
d23976d796
Fix "failed" Subsonic response. Fix #716
2026-01-02 19:20:13 +00:00
Deluan
f87e3420f3
Return album art as a Reader
2026-01-02 19:20:10 +00:00
Deluan
f70becc0d3
Add option for player to report real paths in Subsonic API. Closes #625
2026-01-02 19:20:09 +00:00
Deluan
a0195aa5d3
Better termination handling in Scanner's progress
2026-01-02 19:20:08 +00:00
Deluan
70dc847836
Show folders scanned instead of files scanned
2026-01-02 19:20:05 +00:00
Deluan
ca37f6d31c
Use Gravatar in GetAvatar Subsonic API
2026-01-02 19:19:36 +00:00
Deluan
2c79e4dc86
Add config option to globally enable/disable downloads
2026-01-02 19:19:34 +00:00
Deluan
f165047ace
Don't send the transcoded file if it is a HEAD request
2026-01-02 19:19:32 +00:00
Deluan
8c0cbeffbb
Simplify scanner utilization
2026-01-02 19:18:59 +00:00
Deluan
6db9c24549
Bump Subsonic API to 1.16.1
2026-01-02 19:18:58 +00:00
Deluan
a3713647f8
Update count on getScanStatus
2026-01-02 19:18:58 +00:00
Deluan
62f7f184cc
Add artistImageUrl available in getArtists endpoint
...
Also cache artist info in the DB for 1 hour
2026-01-02 19:18:58 +00:00
Deluan
61d6f8aaa0
Make CreatePlaylist response compatible with API >1.14.0
2026-01-02 19:18:26 +00:00
Deluan
465b23a433
Limit startScan to admins only
2026-01-02 19:18:26 +00:00
Deluan
01b5871218
Implements library scanning endpoints. Also:
...
- Bumped Subsonic API version to 1.15:
- Better User/Users Subsonic endpoint implementations, not final though
2026-01-02 19:18:26 +00:00
Deluan
7cde29cd21
Simplify error responses
2026-01-02 19:18:26 +00:00
Deluan
582e9e5249
Completely removed engine package, fewer abstraction layers \o/
2026-01-02 19:18:25 +00:00
Deluan
321c2fc4f1
Move mock datastore to tests package
2026-01-02 19:18:25 +00:00