Commit Graph

485 Commits

Author SHA1 Message Date
Deluan 86d3a219a9 Show name of router in log 2021-05-24 11:55:39 -04:00
Deluan 22ce5b6282 Removed unnecessary code 2021-05-11 18:55:58 -04:00
Deluan 7d96167abc Upgrade to go-chi 5 2021-05-11 17:21:18 -04:00
Dnouv 089d4abab1
Replace Feature Policy with Permissions Policy (#1112)
* Add Permissions Policy

* Remove Display capture option
2021-05-11 11:29:55 -04:00
Deluan 3e8d3e78c2 Fix Bookmarks Subsonic support (#1099)
JSON responses were incorrect
2021-05-07 09:47:13 -04:00
Deluan 7feda4bea4 Add `EnableUserEditing`, to control whether a regular user can change their own details (default `true`) 2021-05-02 17:11:12 -04:00
Deluan 2372f1d12b Change visibility of helper function 2021-05-02 15:23:51 -04:00
Deluan 490a7fcf52 Add test to Login function 2021-05-02 15:19:21 -04:00
Deluan b8138ebad6 Fix create first login 2021-05-02 14:13:17 -04:00
Deluan e3fe8399c8 Fix DevAutoCreateAdminPassword 2021-05-01 18:40:02 -04:00
Deluan a35de2bfd1 Allow regular users to change their info, including password.
Should fix #199
2021-04-28 22:35:25 -04:00
Deluan 6e73c23704 Keepalive must return an ID to be used with `dataProvider.getOne` 2021-04-26 23:19:30 -04:00
Deluan abaecf2b88 Add Nginx header to not buffer SSE connection
This should allow the Activity Panel, that uses a Server-Side Events/ Event Source connection, to work with default Nginx reverse proxy configuration.
2021-04-20 10:16:20 -04:00
Deluan f63a912341 Add config option to set default theme 2021-04-18 13:51:00 -04:00
Ayush Naidu f7dfabaa40
Replaced literal 302 with http constant (#1006) 2021-04-08 14:17:14 -04:00
Neil Chauhan 48ae4f7479
Add 5-star rating system(#986)
* Added Star Rating functionality for Songs

* Added Star Rating functionality for Artists

* Added Star Rating functionality for AlbumListView

* Added Star Rating functionality for AlbumDetails and improved typography for title

* Added functionality to turn on/off Star Rating functionality for Songs

* Added functionality to turn on/off Star Rating functionality for Artists

* Added functionality to turn on/off Star Rating functionality for Albums

* Added enableStarRating to server config

* Resolved the bugs and improved the ratings functionality.

* synced repo and removed duplicate key

* changed the default rating size to small, and changed the color to match the theme.

* Added translations for ratings, and Top Rated tab in side menu.

* Changed rating translation to topRated in albumLists, and added has_rating filter to topRated.

* Added empty stars icon to RatingField.

* Added sortable=false in AlbumSongs and added sortByOrder=DESC in all List components.

* Added translations for rating, for artists and albums, and removed the sortByOrder=DESC from SimpleLists.
2021-04-07 16:02:52 -04:00
Deluan 156a53c2ac Add support for artist 5-star rating in Subsonic API 2021-04-06 23:06:31 -04:00
Deluan 9913b92905 Get lossless format list from server 2021-04-06 22:18:48 -04:00
harshavardhanpb 5128c049d7
Rename diodo_test.go to diode_test.go (#956)
Simple typo fix
2021-03-31 15:41:38 -04:00
Deluan 3b0defefec Fix UI loading redirections. Should fix #906 2021-03-29 20:13:04 -04:00
Neil Chauhan 404253a881
Enable turn on/off Favorites/Loved feature. (#917)
* Added option to enable/disable favorites in Song

* Added option to enable/disable favorites in Artist

* Added option to enable/disable favorites in Albums and Favorites tab in sidebar

* Added option to enable/disable favorites in Player

* Set default value of enableFavourites as true

* Improved the functionality to enable/disable Favorites

* Add `EnableFavourites` config option

Co-authored-by: Deluan <deluan@navidrome.org>
2021-03-28 20:35:49 -04:00
Yash Jipkate e575825c33
Add `/` to `_` mapping for paths based on tags. (#888)
Closes  #592
2021-03-25 21:48:28 -04:00
Josep Mª Domingo 515aa7108b
Move logger middleware to capture routing errors (ex: 405). (#877)
* Fix #836

* Remove requestLogger middleware from MountRouter
2021-03-24 23:17:36 -04:00
Deluan 720e2357b7 Add option to sort Recently Added by file's mtime instead of time of import. 2021-03-12 18:18:35 -05:00
Deluan Quintão 2d528bbc87
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
2021-03-12 11:06:51 -05:00
Deluan cfc9162729 Use a Waiter diode, to avoid constant CPU usage. Fixes #777 2021-02-13 12:08:32 -05:00
Deluan 107803e037 Update list of Not Implemented / Gone Subsonic API endpoints 2021-02-09 21:25:14 -05:00
Deluan 157faad028 Rename ExternalInfo to ExternalMetadata 2021-02-09 15:33:33 -05:00
Deluan 5fdd8b32d7 Move utilitarian/generic packages to utils: lastfm, spotify, gravatar, cache, and pool 2021-02-09 15:33:33 -05:00
Deluan 6ee45a9ccc Move project to Navidrome GitHub organization 2021-02-06 21:46:35 -05:00
Deluan 26f838167e Add tests to diode 2021-02-04 15:42:08 -05:00
Deluan c7af3b8256 Add test to Event 2021-02-04 12:43:46 -05:00
Deluan 7adacbac0d Removed event.type from SSE, as it was causing the browser to hang.
Needs more investigation, but for now, back to the simple message format
2021-02-04 12:37:06 -05:00
Deluan 9668263235 Logging when triggering manual scan 2021-02-03 00:27:59 -05:00
Deluan 905c685696 Use diodes instead of channels in SSE broker 2021-02-02 18:55:08 -05:00
Deluan 1f3bc4d202 Use tools.go commands without installing 2021-02-01 16:16:30 -05:00
Deluan 861b406575 Use new simplified `uuid.NewString()` syntax 2021-02-01 01:22:31 -05:00
Deluan 9520c30c32 Fix "failed" Subsonic response. Fix #716 2021-01-07 08:24:13 -05:00
Deluan cdae4347a6 Make ServerStart variable global 2020-12-21 11:39:38 -05:00
Deluan 8c063c4f0c Removed unused variable 2020-12-21 10:01:37 -05:00
Deluan 14b060a42a Only close connection if the write times out 2020-12-20 15:21:46 -05:00
Deluan 1d338417e9 Make `done` channel buffered 2020-12-13 11:58:00 -05:00
Deluan d685aefab3 Don't ever stop the `listen` go routine 2020-12-12 23:04:50 -05:00
Deluan e27d917bd4 Forgot to allocate `done` channel 2020-12-12 21:10:43 -05:00
Deluan 8b92796a5c Disconnect the client if the output buffer fills up 2020-12-12 18:26:30 -05:00
Deluan 17833cd9d2 Make names more consistent 2020-12-12 13:46:36 -05:00
Deluan e2969aa34c Use non-blocking event sending 2020-12-12 13:35:49 -05:00
Deluan a74b365feb Only adds route to `/events` if Activity Panel is enabled 2020-12-09 15:33:37 -05:00
Deluan 25ae1c6cdd Return album art as a Reader 2020-12-02 09:13:36 -05:00
Deluan a8c5fa6d49 Fix file descriptor leak in SSE implementation.master
See https://github.com/deluan/navidrome/issues/446#issuecomment-736296465
2020-12-01 09:24:44 -05:00
Deluan 975579ab26 Add option for player to report real paths in Subsonic API. Closes #625 2020-11-28 10:25:23 -05:00
Deluan b6c578e3a2 Change format of events sent by server, leveraging event type and id 2020-11-25 20:46:21 -05:00
Deluan f29bb211d1 Better termination handling in Scanner's progress 2020-11-25 19:05:36 -05:00
Deluan 63171368ed Disable Activity Panel by default.
You'll need to set `DevActivityPanel` (or `ND_DEVACTIVITYPANEL`) to `true` to re-enable it
2020-11-25 15:29:46 -05:00
Deluan 3e8bee4f65 Make eventStream connection/reconnection more reliable
Also more logs on the server
2020-11-20 20:27:30 -05:00
Deluan 666b058ce4 Request album covers when DevFastAccessCoverArt is true 2020-11-18 16:59:06 -05:00
Deluan a1dcb9a4e3 Show folders scanned instead of files scanned 2020-11-16 00:36:12 -05:00
Deluan 44d13bd37c Remove stray Printf 2020-11-14 13:38:31 -05:00
Deluan 1c7f859b5e Add more broker log 2020-11-14 00:44:58 -05:00
Deluan 08f96639f4 Add Uptime to Activity Panel 2020-11-13 20:09:23 -05:00
Deluan b64bb706f7 Use Gravatar in GetAvatar Subsonic API 2020-11-13 14:57:49 -05:00
Deluan 9d7995fd4d Redesign UserMenu, now with support for Gravatar 2020-11-13 00:40:30 -05:00
Deluan 08e63c867b Add config option to globally enable/disable downloads 2020-11-10 16:14:43 -05:00
Deluan bf69c5589f Fix log message 2020-11-10 14:46:12 -05:00
Deluan 8f2fe6f9fa Add buffer to broker SendMessage 2020-11-09 19:24:27 -05:00
Deluan 08dbf44529 Better broker logging 2020-11-09 19:24:04 -05:00
Deluan a2e76d6898 Add flag to enable activity menu 2020-11-09 16:12:50 -05:00
Deluan 56803d0151 Auto-reconnect to event stream after 20secs timeout 2020-11-09 16:12:50 -05:00
Deluan 2b1a5f579a Adding a communication channel between server and clients using SSE 2020-11-09 16:12:50 -05:00
Deluan 9cbeddae8f Avoid cross-site scripting
See: https://lgtm.com/rules/1510377426397/
2020-11-05 12:32:39 -05:00
Deluan 36596d4fdb Don't send the transcoded file if it is a HEAD request 2020-11-03 16:06:02 -05:00
Deluan ee5a0698c0 Simplify scanner utilization 2020-11-01 18:37:17 -05:00
Deluan 71b77cba2b Bump Subsonic API to 1.16.1 2020-11-01 17:04:53 -05:00
Deluan 8e584ee020 Update count on `getScanStatus` 2020-11-01 16:54:33 -05:00
Deluan cfad35544b Add artistImageUrl available in getArtists endpoint
Also cache artist info in the DB for 1 hour
2020-11-01 14:37:29 -05:00
Deluan 32bac11b61 Make CreatePlaylist response compatible with API >1.14.0 2020-10-28 12:46:06 -04:00
Deluan 78630d427d Limit startScan to admins only 2020-10-27 20:22:05 -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 4777cf0aba Simplify error responses 2020-10-27 15:33:28 -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 313a088f86 Make mocks strongly typed 2020-10-27 15:23:49 -04:00
Deluan 6152fadd92 Removed list_generator completely 2020-10-27 15:23:48 -04:00
Deluan 3037ea01e2 Removed more layers of indirection from the engine package 2020-10-27 15:23:48 -04:00
Deluan 1cfa7b2272 Change MediaFolder.ID type to int32 2020-10-25 23:22:52 -04:00
Deluan d24709b521 Add getScanStatus Subsonic response 2020-10-25 23:22:52 -04:00
Deluan c0ec0b28b9 Add better process lifecycle management 2020-10-24 22:43:59 -04:00
Deluan 04fd72e1fa Change avatar placeholder to new logo 2020-10-23 21:37:53 -04:00
Deluan 1cd2f015c2 Get Similar Artists in parallel
Also don't fail `GetArtistInfo` when Last.FM is not configured
2020-10-21 21:44:03 -04:00
Deluan b88f9013dc Fix `getAlbumList.byYear`. See https://github.com/daneren2005/Subsonic/issues/967 2020-10-21 17:32:10 -04:00
Deluan 6dc21d0595 Check for Last.FM and Spotify configuration at startup 2020-10-21 17:10:06 -04:00
Deluan 078a7c24e6 Add userRating to Subsonic API's Artist 2020-10-21 15:51:12 -04:00
Deluan 2f11c2dc8f Bump Subsonic API compatibility to 1.13 2020-10-20 22:54:37 -04:00
Deluan 049ac70b2b Add "real" TopSongs 2020-10-20 22:53:52 -04:00
Deluan 64ccb4d188 Add SimilarSongs functionality 2020-10-20 16:07:31 -04:00
Deluan e9e09a7480 Add dedicated SimilarArtists call 2020-10-20 16:07:31 -04:00
Deluan 29d8950e5b Better ArtistInfo field names 2020-10-20 16:07:31 -04:00
Deluan 07d96f8308 Add missing fields to ArtistInfo 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 1ffc8d619e Log `ffmpeg` detection as Info 2020-10-12 21:59:03 -04:00
Deluan c60e56828b Fix `ffmpeg` detection 2020-10-12 10:59:42 -04:00
Deluan fea5d23fc7 Add `ffmpeg` detection at start-up 2020-10-06 17:24:16 -04:00
Deluan 92b7ef40af Disable CSP for now 2020-10-06 11:24:59 -04:00
Deluan cd171c40cb Add `secure` middleware, with sensible values 2020-10-06 08:46:58 -04:00
Deluan 8dfc259857 Serve `robots.txt` from root (http://server/robots.txt) 2020-10-02 10:15:19 -04:00
Deluan cf8756b14b Unexport private function 2020-10-01 09:56:09 -04:00
Deluan 596a4897a3 Do not force username to always be lowercase in the DB 2020-09-01 18:00:19 -04:00
Deluan 9df405a8ce Add export as m3u button to playlist 2020-08-22 13:23:50 -04:00
Deluan 366054e8cc Handle exporting playlists as m3u files 2020-08-22 12:15:26 -04:00
Deluan 8fa5544af7 Add option to download playlist 2020-08-21 13:28:20 -04:00
Deluan e2e79d6471 Fix `getTopSongs` endpoint mapping 2020-08-20 11:27:38 -04:00
Deluan 15a06fcd27 Removed support for Jamstash in dev mode. Not needed anymore :) 2020-08-15 23:11:31 -04:00
Deluan 6fe1f84c68 Add download for songs 2020-08-14 12:11:35 -04:00
Deluan d72468003f User album or artist name as zip name in `download` endpoint 2020-08-14 12:10:37 -04:00
Deluan 100f6a0645 Removed `engine.Users` 2020-08-14 12:10:37 -04:00
Deluan bc2073fbd5 Removed unused function 2020-08-14 12:10:37 -04:00
Deluan 278d0ea8f3 Fix album fields in simulated browsing by folder 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 eba8395146 Refactor `getSong` 2020-08-14 12:10:37 -04:00
Deluan f16dc5f8f8 Refactor `getMusicDirectory` 2020-08-14 12:10:37 -04:00
Deluan 15c8f4c0ef Refactor `getAlbum` 2020-08-14 12:10:37 -04:00
Deluan e344f616b3 Refactor `getArtist` 2020-08-14 12:10:37 -04:00
Deluan ef81caf3ed Refactor `getMusicFolders` and `getIndexes` 2020-08-14 12:10:37 -04:00
Deluan a5e1986072 Fix `getTopSongs` endpoint 2020-08-13 18:56:13 -04:00
Deluan 4ec451aecb Add content-disposition header to set a download name 2020-08-05 18:40:46 -04:00
Deluan 8e4b2e1c06 Add `GetTopSongs` placeholder, to make AVSub work 2020-08-05 13:48:50 -04:00
Deluan a541afbfba Revert "Return absolute paths in Subsonic API responses"
This reverts commit 338cbacb
2020-08-05 12:37:43 -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 f745b8d223 Use transaction's DataStore 2020-08-04 11:53:19 -04:00
Deluan 696a0feb31 Remove `ratings` from `engine` package 2020-08-02 17:58:07 -04:00
Deluan ed726c2126 Better implementation of Bookmarks, using its own table 2020-08-01 12:17:15 -04:00
Deluan 23d69d26e0 Add Bookmarks to Subsonic API 2020-07-31 17:45:49 -04:00
Deluan 924ada0dab Add bookmark API repsonse 2020-07-31 17:45:49 -04:00
Deluan 2d3ed85311 Add bookmark in persistence layer 2020-07-31 17:45:49 -04:00
Deluan 3d4f4b4e2b Fix lint errors 2020-07-31 17:45:49 -04:00
Deluan 0cf574198e Use Last.FM "white star" URL for artist info 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 16c38eb344 Add PlayQueue Subsonic response 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 4e4fcb2304 Small refactorings, better var/function names 2020-07-27 10:51:50 -04:00
Deluan ddb30ceb11 Add a `v` prefix to the version in the description 2020-07-26 10:52:20 -04:00
Deluan 67da83c84d Use a RWMutex instead of an AtomicBool, to reduce contention 2020-07-26 00:45:33 -04:00
Deluan a0bed9beeb Handle missing index.html template 2020-07-24 13:59:41 -04:00
Deluan 72efc18158 Allow translations to be overridden in the data folder 2020-07-23 18:11:10 -04:00
Deluan 482f46f3fd Remove unneeded context in log calls 2020-07-19 15:28:50 -04:00
Deluan f0160f5d2a Rate limit login attempts using a Sliding Window counter rate-limiter 2020-07-19 14:45:05 -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
Deluan f0a5df7cd7 Move transcodings initialization to a migration
This will make it run only once, not every
time the transcoding table is empty
2020-07-06 23:48:43 -04:00
Deluan 1cc03fdd8c Add initial support for Google Analytics 2020-07-03 13:51:31 -04:00
Deluan dd91f983b5 Add new config option to show a custom welcome message in the login screen 2020-07-03 11:51:15 -04:00
Deluan d2e4cade62 Change duration config types 2020-07-02 17:53:51 -04:00
Deluan a6af46dbad Always use lowercase username, as it is used for referential integrity. Fixes #352 2020-06-14 20:20:10 -04:00
Deluan c742ae0843 Remove unused feature toggles 2020-06-11 22:11:59 -04:00
Deluan 331fa1d952 Add ability to reorder playlist items 2020-06-04 19:05:41 -04:00
Deluan 51fb1d1349 Increase cover art max-age to maximum 2020-06-04 14:45:00 -04:00
Deluan 888151728f Increase album art placeholder's resolution 2020-06-03 09:40:37 -04:00
Deluan 9028d301f0 Change log level for playlist log messages 2020-05-26 22:03:25 -04:00
Deluan fbd6c965b0 Always return `public` attribute in playlist response 2020-05-25 21:00:05 -04:00
delucks ae847103a2 Correct response body for getSongsByGenre 2020-05-22 18:08:35 -04:00
Deluan 8a68cecdb9 Add ToggleStar to SongContextMenu (WIP) 2020-05-22 15:23:42 -04:00
Deluan 17df63b550 Fix `child.size` and `directory.playCount` compatibility with Subsonic API. Fixes #304 2020-05-19 23:51:23 -04:00
Deluan 12cf2f1104 Remove tracks from playlist 2020-05-16 18:35:34 -04:00
Deluan e81a9dd1b5 Add tracks to playlist 2020-05-16 18:35:34 -04:00
Deluan f881e2a54b Add option to enable (experimental) playlists in UI 2020-05-16 18:35:34 -04:00
Deluan aebee651ac Add nested resource `playlist/{id}/tracks` 2020-05-16 18:35:34 -04:00
Deluan a56e588c8e Create relation table for playlist tracks 2020-05-16 18:35:34 -04:00
Deluan 4e613be960 Add playlists REST endpoint 2020-05-16 18:35:34 -04:00
Deluan f8362a4acb Fix staticcheck's SA1029 2020-05-13 16:49:55 -04:00
Deluan 0d1e2a92f6 Make MediaFolder ID int32 2020-05-09 22:29:02 -04:00
Deluan 1ed6d130b1 Fix `getMusicFolders` and `getIndexes` API compliance. Fix #286 2020-05-09 21:02:38 -04:00
Deluan bb01c8973f Fix lint error 2020-05-04 20:46:16 -04:00
Deluan 8d99c3ab92 Add validation tests to translations files 2020-05-04 19:54:10 -04:00
Deluan 854a923fea Don't sort ReadAll translations, as it will be sorted in the UI 2020-05-02 14:19:01 -04:00
Deluan 496b467c1d Cater for differences when loading embedded Assets and in dev mode 2020-05-02 14:19:01 -04:00
Deluan 41cf99541d Move translations to server 2020-05-02 14:19:01 -04:00
Deluan 1a9663d432 Move `static` to `resources`. Embed them at build time 2020-05-02 14:19:01 -04:00
Deluan b7dcdedf41 More error handling 2020-05-02 14:19:01 -04:00
Deluan c816ca4525 Add config option to enable/disable Transcoding configuration 2020-04-29 21:59:05 -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 03c3c192ed Fixing static checks about passing nil context 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 694be54428 Replace math.Max with utils.MaxInt 2020-04-20 12:17:01 -04:00
Dimitri Herzog 716f4c5cf7 configuration for request throttling 2020-04-20 11:51:00 -04:00
Deluan defdc2ea6b Bump Subsonic API to 1.10.2 2020-04-17 21:44:34 -04:00
Deluan 1fd6571a87 Refactored getSongsByGenre 2020-04-17 21:44:34 -04:00
Deluan 4c0250f9f8 Add fromYear/toYear params to getRandomSongs 2020-04-17 21:44:34 -04:00
Deluan 0e1735e7a9 Add getSongsByGenre endpoint 2020-04-17 21:44:34 -04:00
Deluan a698e434fd Refactor list_generator to use new filters 2020-04-17 21:44:34 -04:00
Deluan 95f658336c Implement byYear and byGenre AlbumLists 2020-04-17 21:44:34 -04:00
Deluan d81bf8a518 Update github.com/go-chi/cors 2020-04-13 10:50:18 -04:00
Deluan adfaf39489 Mark more endpoints as "gone" (won't be implemented) 2020-04-12 23:12:28 -04:00
Deluan e476a5f6f1 Make fields `songCount`, `duration`, `created` and `changed` mandatory in playlists responses (fixes #164) 2020-04-11 19:15:15 -04:00
Deluan e232c5c561 Add `created` and `changed` fields to playlists responses 2020-04-11 18:58:43 -04:00
Deluan 089a92157f Pass version to UI through AppConfig, instead of login payload.master
This makes the version info updated with a browser refresh (no need to logout and login again)
2020-04-08 11:00:30 -04:00
Deluan db246900a6 Introduce a new configuration to select the login background image URL 2020-04-08 09:07:15 -04:00
Deluan 7e6c0e3894 Less noisy logs for scrobble 2020-04-06 19:42:35 -04:00
Deluan b930c7253a Fix tests in pipeline 2020-04-06 17:01:48 -04:00
Deluan 3f9ddb915e Use a custom authorization header, to avoid conflicts with proxies using basic auth (fixes #146) 2020-04-06 16:03:20 -04:00
Deluan c3edc7f449 Add test for ServeIndex 2020-04-06 15:37:15 -04:00
Deluan a17a98a75f Log API requests and responses at Debug level 2020-04-05 23:57:04 -04:00
Deluan d308e7ca46 Fix typo 2020-04-05 17:49:14 -04:00
Deluan 0ba5840a65 Don't set a playerId cookie it cannot register the player 2020-04-04 20:26:36 -04:00
Deluan 3b6d0b3d15 Add a catchall route to redirect everything to app/index.html 2020-04-03 19:45:35 -04:00
Deluan 75cd21da1f Add BaseURL configuration (fixes #103) 2020-04-03 19:05:38 -04:00
Deluan 8510273216 Send estimated content length if requested 2020-04-03 00:24:40 -04:00
Deluan f403a8da34 feat: add version to index.html description meta tag 2020-03-22 01:04:10 -04:00
Deluan e23a290812 fix: logging of scanner startup 2020-03-21 14:20:22 -04:00
Deluan 9f42e330b4 fix: change web requests log level to debug 2020-03-21 13:03:04 -04:00
Deluan 8b108905a3 feat: use Navidrome's icon in getAvatar 2020-03-18 22:46:47 -04:00
Deluan 811703ab60 fix: create default transcodings on existing installations 2020-03-17 16:49:37 -04:00
Deluan c8b0d2bfae feat: select correct transcoding for streaming 2020-03-17 15:20:35 -04:00
Deluan 39993810b3 feat: add `transcodedSuffix` to Subsonic API responses 2020-03-17 15:20:35 -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
Deluan f394de664a refactor: new transcoding engine. third (fourth?) time is a charm! 2020-02-24 13:56:09 -05:00
Deluan d2eea64528 fix: typo 2020-02-23 21:41:10 -05:00
Deluan fc14e346b9 feat: store duration as float, to cater for milliseconds 2020-02-20 17:02:06 -05:00
Deluan a412989f7e refactor: more stable transcoder, based on http.FileSystem 2020-02-19 14:53:35 -05:00
Deluan 3b12c92ad5 feat: add cache to the getCoverArt endpoint, avoid it being reloaded every single time in the UI 2020-02-15 14:32:11 -05:00
Deluan a37beac753 feat: add X-Content-Duration header to the stream response 2020-02-09 22:09:18 -05:00
Deluan ce11a2f3be feat: fake getArtistInfo/getArtistInfo2, just to enable artist browsing in MusicStash 2020-02-09 19:42:37 -05:00
Deluan 2c146ea1fe feat: add option to auto-create admin user on first start-up
Useful for development purposes
2020-02-08 14:50:33 -05:00
Deluan 10ead1f5f2 feat: better way to detect initial account creation 2020-02-08 14:32:55 -05:00
Deluan 8673533cd4 refactor: move request param extractors to utils 2020-02-06 18:55:38 -05:00
Deluan abb99a8501 feat: add authentication via JWT token 2020-02-06 18:41:34 -05:00
Deluan b5dadf55f4 feat: add an authenticated keepalive, to keep the UI session alive while playing songs 2020-02-06 18:41:34 -05:00
Deluan 220ffd5324 chore: removed unused code 2020-02-06 18:41:16 -05:00
Deluan 2dbd645292 feat: show server version in User Menu 2020-02-05 23:08:04 -05:00
Deluan 6978790e96 feat: allow regular users to login to the UI 2020-02-05 22:22:44 -05:00
Deluan e5e35516d7 fix: initialize mimetypes for tests 2020-02-04 20:44:54 -05:00
Deluan 6dfe56c1c4 feat: transcoding info in responses, to enable Jamstash to play transcoded FLAC. hardcoded for now 2020-02-04 09:01:22 -05:00
Deluan 8372dee000 feat: experimental downsampling support 2020-02-03 22:53:57 -05:00
Deluan 0d64fb05c7 feat: disable scanner if ScanInterval is set to 0 2020-02-03 11:58:21 -05:00
Deluan 203754726b refactor: better request logging 2020-02-01 20:07:15 -05:00
Deluan d4365b9f64 refactor: read musicFolderId from request (but still don't use it) 2020-02-01 17:23:03 -05:00
Deluan d389d40db1 feat: improve logs, remove config for disable authentication 2020-02-01 17:23:03 -05:00
Deluan 71c1844bca refactor: new persistence, more SQL, less ORM 2020-02-01 17:23:03 -05:00
Deluan 90a1e6d213 feat: add server name and version to all responses
This is inline with other Subsonic compatible servers, like funkwhale, madsonic, ampache...
2020-01-30 14:43:24 -05:00
Deluan 1278863416 feat: support clients that send the API params as a x-www-form-urlencoded POST 2020-01-27 15:10:46 -05:00
Deluan 0d2911daf9 refactor: add Context to the persistence layer 2020-01-27 09:41:33 -05:00
Deluan 58a7879ba8 feat: first time admin user creation through the ui 2020-01-25 17:10:16 -05:00
Deluan 8756f55650 Add git info to version 2020-01-25 11:06:04 -05:00