Commit Graph

56 Commits

Author SHA1 Message Date
Deluan 056f0b944f Refactor: Consolidate scrobbling logic in play_tracker 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
Deluan 743e469795 Use singleton in other places as well 2021-06-21 18:59:26 -04:00
Deluan 502a719e96 Implement Last.FM Desktop Auth flow endpoints 2021-06-21 18:14:01 -04:00
Deluan f8ee6db72a New implementation of NowPlaying 2021-06-20 10:39:16 -04:00
Deluan d54129ecd2 Rename `app` package to `nativeapi` 2021-06-13 19:15:41 -04:00
Deluan Quintão 03efc48137
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
2021-06-13 12:46:36 -04:00
Deluan cefc939909 Trigger UI refresh on media annotation events: `star`, `setRating` and `scrobble` 2021-06-10 12:20:52 -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 882519738f Change back mounting order, for better logs 2021-05-24 12:17:55 -04:00
Deluan 86d3a219a9 Show name of router in log 2021-05-24 11:55:39 -04:00
Deluan 8419a2a5d1 Schedule periodic scan before starting initial scan 2021-05-08 19:19:31 -04:00
Deluan f8dbc41b6d 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
2021-05-06 17:56:10 -04:00
Deluan bcda53f115 Less waiting for cache to be ready 2021-04-29 13:58:01 -04:00
Deluan 8a07bac2a2 Fix SIGUSR1 work when ScanInterval=0 2021-04-29 13:10:10 -04:00
Deluan 157faad028 Rename ExternalInfo to ExternalMetadata 2021-02-09 15:33:33 -05:00
Deluan 52a407b84b Clean up, comments and logs 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 1f3bc4d202 Use tools.go commands without installing 2021-02-01 16:16:30 -05:00
Deluan c5686c4884 Replace periodic scanner cancellation channel with a context 2021-01-31 17:37:54 -05:00
Deluan f29bb211d1 Better termination handling in Scanner's progress 2020-11-25 19:05:36 -05:00
Deluan 2b1a5f579a Adding a communication channel between server and clients using SSE 2020-11-09 16:12:50 -05:00
Deluan ee5a0698c0 Simplify scanner utilization 2020-11-01 18:37:17 -05:00
Deluan 58d6b0a84f Cache Warmer now waits for Cache to be available 2020-10-31 00:40:21 -04:00
Deluan d9f7a154cf Implements library scanning endpoints. Also:
- Bumped Subsonic API version to 1.15:
- Better User/Users Subsonic endpoint implementations, not final though
2020-10-27 18:20:50 -04:00
Deluan 9b756faef5 Make caches singletons 2020-10-27 18:20:50 -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 6152fadd92 Removed list_generator completely 2020-10-27 15:23:48 -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 af7eaa2b7a Add scanner status 2020-10-25 23:22:52 -04:00
Deluan c0ec0b28b9 Add better process lifecycle management 2020-10-24 22:43:59 -04: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
Deluan 9b1d5c196f Load cache asynchronously 2020-07-24 16:54:04 -04:00
Deluan 1ef17e2986 Remove version command 2020-07-12 20:44:19 -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
Deluan 7c3fd38559 Add option to change IP address to bind 2020-07-08 20:54:56 -04:00