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 |