Deluan
6678a4185a
Inject DB into DataStore, instead of hardcode the dependency
2026-01-02 20:06:11 +00:00
Deluan
3085484848
Change initial scan message log level
2026-01-02 20:06:08 +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
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
883d316670
Use singleton in other places as well
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
7b4b6f8130
New implementation of NowPlaying
2026-01-02 20:04:23 +00:00
Deluan
7fd15e12cd
Rename app package to nativeapi
2026-01-02 20:00:50 +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
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
9f46738f73
Change back mounting order, for better logs
2026-01-02 19:31:11 +00:00
Deluan
7b38e33b26
Show name of router in log
2026-01-02 19:31:11 +00:00
Deluan
d3edef8390
Schedule periodic scan before starting initial scan
2026-01-02 19:26:44 +00:00
Deluan
d2d780918b
Breaking change: Add ScanSchedule, allows interval and cron based configurations.
...
See https://pkg.go.dev/github.com/robfig/cron#hdr-CRON_Expression_Format for expression syntax.
`ScanInterval` will still work for the time being. The only situation it does not work is when you want to disable periodic scanning by setting `ScanInterval=0`. If you want to disable it, please set `ScanSchedule=""`
Closes #1085
2026-01-02 19:26:43 +00:00
Deluan
b9e8ae07d3
Less waiting for cache to be ready
2026-01-02 19:26:41 +00:00
Deluan
ddae77c3ac
Fix SIGUSR1 work when ScanInterval=0
2026-01-02 19:26:41 +00:00
Deluan
fdd9a94144
Rename ExternalInfo to ExternalMetadata
2026-01-02 19:21:28 +00:00
Deluan
5cab07c7b2
Clean up, comments and logs
2026-01-02 19:21:27 +00:00
Deluan
5cc7dbb2ba
Incomplete implementation of agents
2026-01-02 19:21:23 +00:00
Deluan
10cf2372f8
Move project to Navidrome GitHub organization
2026-01-02 19:20:16 +00:00
Deluan
f708686485
Use tools.go commands without installing
2026-01-02 19:20:14 +00:00
Deluan
971728dfd5
Replace periodic scanner cancellation channel with a context
2026-01-02 19:20:13 +00:00
Deluan
a0195aa5d3
Better termination handling in Scanner's progress
2026-01-02 19:20:08 +00:00
Deluan
652a6cf18f
Adding a communication channel between server and clients using SSE
2026-01-02 19:19:33 +00:00
Deluan
8c0cbeffbb
Simplify scanner utilization
2026-01-02 19:18:59 +00:00
Deluan
8fa4697085
Cache Warmer now waits for Cache to be available
2026-01-02 19:18:27 +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
d9a8e354e9
Make caches singletons
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
437339b9b2
Make caches singletons
2026-01-02 19:18:25 +00:00
Deluan
04fe3aff4a
Add simple cache warmer, disabled by default
2026-01-02 19:18:25 +00:00
Deluan
002bfccfaa
Add scanner status
2026-01-02 19:17:32 +00:00
Deluan
bd68dbd438
Add better process lifecycle management
2026-01-02 19:17:32 +00:00
Deluan
a289a1945f
Remove redundant interfaces
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
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
22f34b3347
Refactor getGenres. Remove engine.Browser
2020-08-14 12:10:37 -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
28d1428c90
Add option to disable .m3u auto-import
2020-08-02 23:17:13 -04:00
Deluan
696a0feb31
Remove ratings from engine package
2020-08-02 17:58:07 -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