Commit Graph
100 Commits
Author SHA1 Message Date
sentriz 09967e3f5a chore: bump PGO profile 2023-12-05 15:28:54 +00:00
sentriz e8ae1c1d40 feat(subsonic): return http form post opensubsonic extension key
https://github.com/opensubsonic/open-subsonic-api/pull/74

Release-As: 0.16.3
2023-12-03 01:38:28 +00:00
sentriz 5b5572d74c unset http WriteTimeout when -pprof 2023-12-02 18:38:42 +00:00
sentriz f98b2326da feat(subsonic): expose track musicbrainz id
Release-As: 0.16.3
2023-12-02 17:58:57 +00:00
sentriz 816378140e add -pprof option 2023-12-02 17:03:35 +00:00
sentriz 79fdf640de add a test for params middleware 2023-11-30 18:57:07 +00:00
sentriz 481940d299 Update README.md 2023-11-29 12:52:59 +00:00
Senan KellyandGitHub 52e357dcc6 Update README.md 2023-11-29 11:05:00 +00:00
Senan KellyandGitHub 48d397de9f Update README.md 2023-11-29 11:00:34 +00:00
sentriz 7bcd69dcdf re-use fileutil.Safe 2023-11-28 18:18:23 +00:00
sentriz 707ebe1a49 remove redundant fallback host 2023-11-26 15:31:06 +00:00
sentriz d989fd02ae mention subsonic.el in readme 2023-11-26 14:00:57 +00:00
sentriz b199bc104e fix(jukebox): make sure we clean up "seekable" event listener
related #411
2023-11-25 19:19:33 +00:00
sentriz 60c1fb18d8 clarify jukebox in readme 2023-11-25 15:52:56 +00:00
sentriz def59f17dd chore(jukebox): gracefully handle jukebox request when not enabled 2023-11-25 14:36:58 +00:00
sentriz 82c3c5baef fix(jukebox): restore play index only when incoming new track has index >0
related #411
2023-11-24 21:59:11 +00:00
sentriz 5bc29f4e21 make getDecode more useful 2023-11-24 21:59:10 +00:00
sentriz 3d73a9f784 allow concurrent jukebox reads
fixes #411
2023-11-18 12:41:02 +00:00
sentriz 2edb1b8eda feat: set global http timeouts except for streaming endpoints
related #411

Release-As: 0.16.2
2023-11-18 12:36:22 +00:00
sentriz dd0f6b3650 fix(admin): don't start with empty session key
fixes #414
2023-11-18 07:01:39 +00:00
sentriz 1481f03534 chore: upgrade deps
related #408
2023-11-11 13:09:51 +00:00
sentriz 2bf62310e7 initialise slices for browse-by-tag children
related https://github.com/sentriz/gonic/pull/397#issuecomment-1806808586
2023-11-11 12:58:01 +00:00
sentriz 5022500b30 fix(subsonic): return empty opensubsonic fields
https://github.com/sentriz/gonic/pull/397#issuecomment-1806794844
2023-11-11 12:34:04 +00:00
sentriz c55339e19a return no entries when out of bounds musicFolderId is requested 2023-11-08 23:17:19 +00:00
sentriz a472421106 only return album artists on getArtists 2023-11-08 23:17:05 +00:00
sentriz 50c90e8ee3 set a temporary album tag artist for those who mightn't have it yet 2023-11-08 23:05:16 +00:00
sentriz 0718aabbac feat(subsonic): expose track/album displayArtist/displayAlbumArtist
closes #406
2023-11-08 22:13:12 +00:00
sentriz a30ee3d7f9 feat(subsonic): support getAlbumList/getAlbumList2 type=highest
closes #404
2023-11-08 20:13:22 +00:00
sentriz 2df9052bf9 feat(subsonic): expose all of album "name"/"title"/"album" for browse by tag and browse by folder
related #404
2023-11-08 20:13:01 +00:00
sentriz 9bdfc492ce factor out fallback tags 2023-11-08 00:31:17 +00:00
sentriz cc1a99f033 feat(subsonic): add getAlbumInfo with cache
Release-As: 0.16.1
2023-11-07 23:43:11 +00:00
sentriz 3f5cf56c88 remove debug print 2023-11-07 23:14:26 +00:00
sentriz 0f611d7f7a use track artists and album artists more appropriately
for example using track artists to find top songs, and returning artist
features in artist album lists
2023-11-07 22:49:43 +00:00
sentriz 98eb1066d8 store artist album appearances 2023-11-06 23:40:00 +00:00
sentriz 03cc1aedad update ServeGetArtist artist init 2023-11-06 21:50:57 +00:00
sentriz 10ae1018c7 set runQueryCases helper 2023-11-06 21:50:46 +00:00
sentriz 288b457c19 remove unneeded many 2 many params 2023-11-06 21:50:25 +00:00
sentriz 17433f9197 don't mix multi artist conf settings 2023-11-06 21:50:09 +00:00
sentriz ddb686bddc fix(scanner): make sure we roll back invalid parents
fixes #402
2023-11-04 19:04:30 +00:00
sentriz 27b2d36376 update transaction funcs 2023-11-04 19:03:28 +00:00
sentriz 604f450f08 move scanner helper 2023-11-04 18:27:35 +00:00
sentriz 0fa099b44b don't left join to find similar artists 2023-10-31 20:23:53 +00:00
sentriz 2fdc1f41a2 feat: add more and unify stats
Release-As: 0.16.1
2023-10-31 19:14:08 +00:00
sentriz c1a34dc021 feat: store and expose individual track artists
a
2023-10-31 19:14:08 +00:00
sentriz 1a45356fa2 rename exclude pattern var 2023-10-31 14:47:30 +00:00
sentriz c90fea1765 fix readme typo 2023-10-31 14:05:38 +00:00
sentriz 37e826e02b fix: don't panic when scan on start fails
fixes #399
2023-10-31 13:57:01 +00:00
sentriz a34ac03de6 make sure updated_at is up to date in artistinfocache 2023-10-28 19:11:33 +01:00
sentriz eac4db8165 update readme stats 2023-10-28 16:24:31 +01:00
sentriz fe0567a995 fix: store and scrobble with real album artist info string 2023-10-25 22:09:04 +01:00
sentriz 46575278ed refactor: remove album.GenreStrings 2023-10-25 21:59:56 +01:00
sentriz d1af62d6cb chore(ci): bump actions/checkout 2023-10-25 21:18:00 +01:00
sentriz d9cba5084e only notify irc after successful build 2023-10-25 19:19:07 +01:00
sentriz d8f3d2af40 chore: upgrade deps 2023-10-25 19:12:51 +01:00
sentriz 48eadd05e3 don't scrobble podcast episodes 2023-10-25 10:42:23 +01:00
Senan KellyandGitHub c947404923 refactor(scanner): make the watcher a little easier to reason about (#394)
* add a test for symlinks escaping defined music paths

* refactor(scanner): make the watcher a little easier to reason about
2023-10-24 22:57:42 +00:00
sentriz cae37255d6 fix(metrics): have a distinction between folders and albums
closes #396
2023-10-23 17:47:58 +01:00
sentriz 95bc919377 don't backtick quote stuff 2023-10-19 02:17:39 +01:00
sentriz d503282faf don't panic when we can't find an old podcast episode path in migration
related #393
2023-10-18 20:09:38 +01:00
sentriz 69c02e8352 fix: add track count to /debug/vars metrics endpoint
fixes #392
2023-10-17 19:15:46 +01:00
sentriz 9818523175 fix: use conf cache-path instead of XDG_CACHE_HOME for jukebox socket
for environments without a user home dir

fixes #391
2023-10-15 21:29:43 +01:00
sentriz 80fdc85b60 don't backup db for tests 2023-10-10 16:56:37 +01:00
sentriz f18151b755 fix(subsonic): don't return concatenated genres strings for song/trackchilds 2023-10-10 16:56:37 +01:00
sentriz 422a4b88d7 use db.Transaction helper for migrations 2023-10-09 23:32:07 +01:00
sentriz 219aa747c9 kill jukebox process on quit 2023-10-09 23:32:07 +01:00
sentriz e624813d5c backup db pre 0.16 release 2023-10-09 21:52:14 +01:00
sentriz 66a29f7e93 move mockfs DumpDB to db package 2023-10-09 21:50:34 +01:00
sentriz c9a2d2f9ce feat(transcode): lock the destination transcode cache path 2023-10-09 20:47:57 +01:00
Senan KellyandGitHub 7eaf602e69 feat(subsonic): support timeOffset in stream.view (#384)
as per
https://github.com/opensubsonic/open-subsonic-api/pull/54
https://github.com/opensubsonic/open-subsonic-api/discussions/21

dont cache partial transcodes

add a transcode seek test
2023-10-08 16:10:49 +00:00
sentriz 318b62415d refactor main tickers 2023-10-06 03:01:55 +01:00
sentriz 1ea2402559 feat(subsonic): scrobble to different scrobble backends in parallel 2023-10-05 12:23:57 +01:00
sentriz 9f8cfcc3b0 lint 2023-10-05 02:04:21 +01:00
sentriz e6761343ad move tags up a level
its not messily tied to scanner anymore
2023-10-05 01:27:21 +01:00
sentriz 04c7fa2efd clean up old tickers 2023-10-04 21:36:55 +01:00
sentriz 315c4f834e lint 2023-10-04 21:03:41 +01:00
sentriz ce991b4d85 use sync.Pool instead of bpool 2023-10-04 20:54:42 +01:00
sentriz 97e9675dca reorg packages 2023-10-04 20:52:06 +01:00
sentriz a669ba8598 delete oklog 2023-10-04 20:45:41 +01:00
sentriz e842b896ec feat: enable profile-guided optimization 2023-10-02 20:29:04 +01:00
sentriz 726cddf4d8 clean up old gitignore entries 2023-10-02 20:28:46 +01:00
sentriz 8382f6123c feat(subsonic): make it easier to add more tag reading backends
related https://github.com/sentriz/gonic/issues/379
related https://github.com/sentriz/gonic/issues/324
related https://github.com/sentriz/gonic/issues/244
2023-10-02 20:02:56 +01:00
sentriz ae82153d79 put helpers last 2023-10-01 03:20:03 +01:00
Senan KellyandGitHub e9accfb71f refactor: refactor controllers and use standard library (#385) 2023-09-30 21:40:51 +00:00
sentriz adceff1267 use new opensubsonic extensions response format 2023-09-30 22:24:16 +01:00
sentriz b6e01fa33f refactor transcode test 2023-09-28 22:01:41 +01:00
sentriz 2caee441ca feat(subsonic): add getOpenSubsonicExtensions endpoint and openSubsonic response key 2023-09-28 21:17:56 +01:00
sentriz e0b1603c00 feat(subsonic): update track play stats on scrobble instead of stream 2023-09-28 20:58:59 +01:00
sentriz 6b322e4a1f return album genres as a list of objects as per opensubsonic
https://github.com/opensubsonic/open-subsonic-api/pull/51
2023-09-28 20:34:00 +01:00
sentrizandAlex McGrath 51cf57400e don't start purge job if podcast-purge-age-days not set
Co-authored-by: Alex McGrath <amk@amk.ie>
2023-09-27 13:53:36 +01:00
Senan KellyandGitHub f119659acf refactor scrobblers (#383)
- no need to explicitly pass api key
- move packages up a level
- catch more errors by extended scrobbler interface with IsUserAuthenticated
- move interface to server
- delete scrobbber package, clients implicitly satisfy Scrobble

this also helps with gonic-lastfm-sync
2023-09-27 00:13:00 +00:00
sentriz 32064d0279 add lastfm get user info method 2023-09-26 22:43:48 +01:00
sentriz 8edd71f8f7 include artist ids in getStarred responses 2023-09-26 18:46:37 +01:00
sentriz b3c863c386 feat(subsonic): order results from getStarred reverse chronologically based on star date 2023-09-26 12:03:15 +01:00
sentriz fd1852c7f0 return loved date in loved tracks response 2023-09-26 11:53:23 +01:00
sentriz 81bf36abc1 add love track method to lastfm 2023-09-26 01:40:40 +01:00
sentriz d77b0ebf4c use http.Method* strings in lastfm tests 2023-09-26 01:15:58 +01:00
sentriz 9026c9e2c0 feat(lastfm): add user get loved tracks method 2023-09-26 00:06:23 +01:00
sentriz d203cc267b escape special chars in commit messages via pipe 2023-09-25 19:32:58 +01:00
sentriz c93852fe16 don't pass nil clean up funcs to run.Group 2023-09-25 18:48:39 +01:00
Senan KellyandGitHub 39fb8e7d54 use package level require/assert in tests (#382) 2023-09-25 17:39:39 +00:00