62 Commits

Author SHA1 Message Date
Deluan
ffd1aa7e89
Refactor: Consolidate scrobbling logic in play_tracker 2026-01-02 20:05:05 +00:00
Deluan
0a9f6cb807
Refactor Agents to be singleton
Initial work for Last.fm scrobbler
2026-01-02 20:05:04 +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
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
cc789ed92b
Trigger UI refresh on media annotation events: star, setRating and scrobble 2026-01-02 19:32:17 +00:00
Deluan
3e56e834a4
Upgrade to go-chi 5 2026-01-02 19:31:07 +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
10cf2372f8
Move project to Navidrome GitHub organization 2026-01-02 19:20:16 +00:00
Deluan
d23976d796
Fix "failed" Subsonic response. Fix #716 2026-01-02 19:20:13 +00:00
Deluan
ca37f6d31c
Use Gravatar in GetAvatar Subsonic API 2026-01-02 19:19:36 +00:00
Deluan
6db9c24549
Bump Subsonic API to 1.16.1 2026-01-02 19:18:58 +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
Deluan
e2d27f5a32
Removed list_generator completely 2026-01-02 19:18:25 +00:00
Deluan
2f11c2dc8f Bump Subsonic API compatibility to 1.13 2020-10-20 22:54:37 -04:00
Deluan
e9e09a7480 Add dedicated SimilarArtists call 2020-10-20 16:07:31 -04:00
Deluan
07535e1518 Add ExternalInformation core service (not a great name, I know) 2020-10-20 16:07:31 -04:00
Deluan
e2e79d6471 Fix getTopSongs endpoint mapping 2020-08-20 11:27:38 -04:00
Deluan
100f6a0645 Removed engine.Users 2020-08-14 12:10:37 -04:00
Deluan
419884db7c Removed engine.Scrobbler 2020-08-14 12:10:37 -04:00
Deluan
eacfc41665 Removed engine.Search 2020-08-14 12:10:37 -04:00
Deluan
c271aa24d1 Make all Subsonic helper functions private 2020-08-14 12:10:37 -04:00
Deluan
22f34b3347 Refactor getGenres. Remove engine.Browser 2020-08-14 12:10:37 -04:00
Deluan
a5e1986072 Fix getTopSongs endpoint 2020-08-13 18:56:13 -04:00
Deluan
8e4b2e1c06 Add GetTopSongs placeholder, to make AVSub work 2020-08-05 13:48:50 -04:00
Deluan
df05760769 Move engine package under subsonic, as it should only be used by the Subsonic API.master
The idea is to move reusable code from `engine` to `core`, in future refactorings
2020-08-04 21:29:35 -04:00
Deluan
2c370cae28 Support downloading full album and artist discography through Subsonic API 2020-08-04 12:39:13 -04:00
Deluan
696a0feb31 Remove ratings from engine package 2020-08-02 17:58:07 -04:00
Deluan
23d69d26e0 Add Bookmarks to Subsonic API 2020-07-31 17:45:49 -04:00
Deluan
3000238a3c Implements the get/save play queue Subsonic endpoints and bumps API version to 1.12.0 2020-07-31 17:45:49 -04:00
Deluan
2b59d4b87a Rename 'Cover' to the more generic term 'Artwork' 2020-07-31 11:38:56 -04:00
Deluan
9e35534dad Fix lint errors
New environment, forgot to setup it properly...
2020-07-10 13:11:02 -04:00
Deluan
5620c58a30 Started the big refactor to extract common logic from engine package (Subsonic only) to core package (more generic) 2020-07-10 12:53:11 -04:00
jvoisin
26188e6d8a Enable a couple of linters 2020-04-29 09:03:07 -04:00
Deluan
5cd453afeb Fix all errcheck warnings 2020-04-26 15:07:36 -04:00
Deluan
d534cb96a9 Replace math.Max with utils.MaxInt 2020-04-21 08:41:04 -04:00
Dimitri Herzog
f1e1d3bc07 request throttling only for media group api 2020-04-21 08:39:14 -04:00
Deluan
defdc2ea6b Bump Subsonic API to 1.10.2 2020-04-17 21:44:34 -04:00
Deluan
0e1735e7a9 Add getSongsByGenre endpoint 2020-04-17 21:44:34 -04:00
Deluan
95f658336c Implement byYear and byGenre AlbumLists 2020-04-17 21:44:34 -04:00
Deluan
adfaf39489 Mark more endpoints as "gone" (won't be implemented) 2020-04-12 23:12:28 -04:00
Deluan
a17a98a75f Log API requests and responses at Debug level 2020-04-05 23:57:04 -04:00
Deluan
75cd21da1f Add BaseURL configuration (fixes #103) 2020-04-03 19:05:38 -04:00
Deluan
da36941252 feat: better getPlayer middleware setup 2020-03-17 15:20:35 -04:00
Deluan
8ec78900c5 feat: transcoding and player datastores and configuration 2020-03-17 15:20:35 -04:00
Deluan
fc06163b5a refactor: remove superfluous (and untested) code 2020-03-02 09:37:47 -05:00