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 |