Commit graph

836 commits

Author SHA1 Message Date
Phan An
bfd00de9e2 feat(plus): create command to setup Dropbox storage 2024-07-06 17:44:45 +02:00
Phan An
d313a72619 feat(plus): rework cloud storages and streamers 2024-07-06 17:44:45 +02:00
Phan An
1ac0cbdc67 feat(plus): support Dropbox 2024-07-06 17:44:45 +02:00
Phan An
b723f3d7c9 feat(plus): support S3 compatible storages 2024-07-06 17:44:45 +02:00
Phan An
28af8c0122 feat: support reorder songs in playlists 2024-07-06 17:44:45 +02:00
Phan An
5d2ff87271 feat(plus): revise artist/image art upload policies 2024-07-06 17:44:45 +02:00
Phan An
00eebaf225 feat(test): add client test for collaborative playlists and more 2024-07-06 17:44:45 +02:00
Phan An
259e96bdd3 feat(test): add missing tests for Playlist services 2024-07-06 17:44:45 +02:00
Phan An
5c5c538478 feat(plus): song visibility behaviors for collaborative playlists 2024-07-06 17:44:45 +02:00
Phan An
e874c80b26 feat(plus): manage collaborators 2024-07-06 17:44:45 +02:00
Phan An
f3689f61d4 feat: store perferences on server and make upload visibility a preference 2024-07-06 17:44:45 +02:00
Phan An
69368bfbd8 fix(plus): smart playlist display inaccessible songs 2024-07-06 17:44:44 +02:00
Phan An
9dc23f319e feat(plust): playlist collaboration 2024-07-06 17:44:44 +02:00
Phan An
71f5e1d804 feat(test): add tests song visibility 2024-07-06 17:44:44 +02:00
Phan An
891cabaeb8 feat(test): add tests for multiple functions 2024-07-06 17:44:44 +02:00
Phan An
179faefeed fix: assing default user to S3-imported songs 2024-07-06 17:44:44 +02:00
Phan An
40af08f2f6 feat(plus): activate license from web interface 2024-07-06 17:44:43 +02:00
Phan An
c620aaefe5 feat(plus): support "own songs only" option for smart playlists 2024-07-06 17:44:43 +02:00
Phan An
79f6efa6ad feat: show Empty state if All Songs fetch returns empty 2024-07-06 17:44:43 +02:00
Phan An
738af614bb chore: a bit of improvement for init command 2024-07-06 17:44:43 +02:00
Phan An
d548cff3b2 fix: restore helpers to Helpers because not worth it 2024-07-06 17:44:42 +02:00
Phan An
3326bc5081 feat(plus): allows filtering All Songs by own songs only 2024-07-06 17:44:42 +02:00
Phan An
9f30ca65c1 feat(plus): add tests for License service 2024-07-06 17:44:42 +02:00
Phan An
dd7c1e754a feat(plus): add upload tests 2024-07-06 17:44:42 +02:00
Phan An
7861478f12 fix: static analytics 2024-07-06 17:44:42 +02:00
Phan An
72a6f2b17f chore: refactor tests and factories 2024-07-06 17:44:42 +02:00
Phan An
928a2eb615 feat(plus): add song interaction tests 2024-07-06 17:44:42 +02:00
Phan An
de44bc781b chore: better validation rules 2024-07-06 17:44:41 +02:00
Phan An
f22f1e0cba chore: minor refactoring 2024-07-06 17:44:41 +02:00
Phan An
64b664addf feat(plus): add song play and visibility change tests 2024-07-06 17:44:41 +02:00
Phan An
cc12618a95 feat(plus): add song policy tests 2024-07-06 17:44:41 +02:00
Phan An
9a89828384 chore: fine-tune Song policies 2024-07-06 17:44:41 +02:00
Phan An
ca9b77f697 feat: allow making songs public/private 2024-07-06 17:44:41 +02:00
Phan An
2c3479b6f3 feat: display Plus/Community info 2024-07-06 17:44:41 +02:00
Phan An
3aef0dc2b8 feat: deactivate license 2024-07-06 17:44:41 +02:00
Phan An
d5d78afa76 feat: compare store ID 2024-07-06 17:44:41 +02:00
Phan An
4012f8d0fb feat: adapt downloading to Plus 2024-07-06 17:44:40 +02:00
Phan An
31f0992512 feat: adapt like/unlike songs to Plus 2024-07-06 17:44:40 +02:00
Phan An
a8c78adf65 feat: make song edit/deletion plus-aware 2024-07-06 17:44:40 +02:00
Phan An
1bb22bc336 feat: integrate with Lemon Squeezy 2024-07-06 17:44:40 +02:00
Phan An
4574139998 feat: rename (alias) koel:sync to koel:scan and add owner/private options 2024-07-06 17:44:40 +02:00
Phan An
53d08371b9 feat: allows users to upload for Plus 2024-07-06 17:44:40 +02:00
Phan An
f4a0e8d006 feat: mark external songs with icon 2024-07-06 17:44:40 +02:00
Phan An
ff033139a4 feat: supports multi-tenant 2024-07-06 17:44:39 +02:00
Phan An
3a3a84164d fix: updating songs from S3 might create duplicates 2024-01-15 14:33:04 +01:00
Phan An
03a767f462 chore: increase request throttle max attempt value 2024-01-03 01:11:24 +01:00
Phan An
881ca574ae refactor: prefer more invokeable controllers 2024-01-02 14:10:06 +01:00
Phan An
1ab8d7590f refactor: prefer invokeable controllers 2024-01-02 13:07:37 +01:00
Phan An
d8282557d7 refactor: better repository method naming and usage 2024-01-01 21:38:41 +01:00
Phan An
5f0eaf228d
feat: persist queue and playback state (closes #1675) (#1735) 2024-01-01 12:40:21 +01:00
Phan An
ac16e49238 fix: broken asset images for Docker (closes #1732) 2023-12-28 13:16:54 +01:00
Phan An
abb0438c8d
fix: buggy Spotify integration (#1731)
This fixes a bug with Spotify integration that occurs if an installation isn't connected to Last.fm. Closing #1730 and #1653.
2023-12-27 12:49:28 +01:00
Phan An
1518196af0 feat: wrap scanning in a try/catch (closing #1727) 2023-12-25 18:15:49 +01:00
Phan An
ea4a42d600 perf: better array+exists validation rule 2023-10-10 17:29:54 +02:00
Phan An
240794b4aa feat: optionally rehash password upon successful auth 2023-10-10 17:29:54 +02:00
Bogdan Kondratov
05727feee8
fix(frontend): Fix the base URL supplied to the frontend (#1706) 2023-09-22 18:09:39 +07:00
Phan An
55e11daf49
fix: code analysis error 2023-08-23 23:21:20 +02:00
Phan An
f87d970b50
feat: invite users 2023-08-22 22:53:55 +02:00
Phan An
a8a3baa478
Revert "fix: make placeholder text readable"
This reverts commit 7cd5b230d4.
2023-08-20 17:24:56 +02:00
Phan An
7cd5b230d4
fix: make placeholder text readable 2023-08-20 17:11:51 +02:00
Phan An
e25d22b41c
fix: conflict during merge 2023-08-20 13:06:05 +02:00
Phan An
4182411881
feat: guess table key name instead of hard-coding "id" 2023-08-20 13:03:29 +02:00
Phan An
48f6bcc105
chore: merge v6 into base API 2023-08-20 12:49:45 +02:00
Phan An
fe793ec285 feat: add playlist folder listing 2023-08-16 14:56:31 +02:00
Phan An
de88d23b95
chore: merge v6 into base API (#1685) 2023-06-05 23:46:41 +02:00
bibo38
050c992cf1
Fix the track ordering on multi disc albums (#1683) 2023-06-05 23:27:47 +02:00
Phan An
81748676ee feat: use UUID for smart playlist rules + test fixes 2023-04-17 21:45:43 +02:00
René Bos
050d898857
chore(deps): update dependencies (#1659) 2023-02-25 06:39:47 +01:00
Phan An
e8e2c2db75
feat: allow sorting by date added (#1631) 2022-12-15 22:59:19 +07:00
Phan An
cb84f14f34
fix: direct streaming with PHP not working for Safari (#1630) 2022-12-15 21:49:49 +07:00
Phan An
e82eade364
fix: explicit group by columns (#1610) 2022-12-03 00:34:51 +01:00
Phan An
5441cfb5f3
fix: update multiple songs duplicate values (#1607) 2022-11-29 13:16:43 +01:00
Phan An
474fbff4d2
fix: file path inconsistency on Windows (closes #1507) (#1605) 2022-11-29 11:05:58 +01:00
Phan An
64229568a1
feat: allow specifying folder when create/edit playlists (#1603) 2022-11-27 16:29:29 +01:00
Phan An
d2f8e4d920
feat: use a composition token (#1592) 2022-11-16 18:57:38 +01:00
Phan An
21e2c6b412
fix: SmartPlaylist operator conversion 2022-11-08 20:53:38 +01:00
Phan An
3b15622693
feat: add and use "last played" timestamp for songs (#1578) 2022-11-08 18:38:28 +01:00
Phan An
4854e56fdb
feat: use webp by default, falling back to jpeg (#1574) 2022-11-03 13:46:54 +01:00
Thomas Doornenbal
ef8fa441fc
fix: 500 error on home (#1538) 2022-10-23 11:13:54 +02:00
Phan An
c70bb3b5af
feat: add Genres screens (#1541) 2022-10-21 22:06:43 +02:00
Phan An
41f6abc087
feat: tabs for Artist/Album screens (#1532) 2022-10-18 16:07:41 +02:00
Phan An
a028dc03d0
feat(design): revamp the layout 2022-10-16 01:19:21 +02:00
Phan An
e5b6cc36f6
fix: properly clean up Last.fm text artifacts 2022-10-14 01:11:14 +02:00
Phan An
1acff99fba
feat: improve song updating logic 2022-10-12 14:33:41 +02:00
Phan An
ad1d36085a
feat: greatly reduce artist/album query complexity 2022-10-11 17:28:43 +02:00
Phan An
3ec65c4197
fix(compilation): some bugs with album artists
- album artists not properly shown on Artist screen
- updating song with album artists creates multiple albums
- downloading artists doesn't cater for "album artist" songs
2022-10-10 10:33:30 +02:00
Bartosz Taudul
98fe7431b0
Add .opus to list of recognized file extensions.
https://wiki.xiph.org/MIME_Types_and_File_Extensions
2022-10-09 13:00:01 +02:00
MaciejGorczyca
279f23d4e1
feat: Add env TRANSCODE_FLAC (default true) to toggle transcoding on/off for FLAC files (#1458)
Co-authored-by: CoUsT <gitea@coust.cloud>
2022-10-08 12:49:50 +02:00
Phan An
e068a4ca8c
feat: support genre and year (closes #1503) (#1509) 2022-09-23 13:21:29 +07:00
Phan An
6791624ca5
feat: allow deleting songs from file system (closes #1478) 2022-09-16 17:51:55 +07:00
Joey Vos
4c7e2644a3
fix(metadata): add support for vorbis tags/comments in FileSynchronizer 2022-09-15 13:00:53 +07:00
Phan An
4306d1e6f6
feat: read LRC files if applicable (closes #1447) (#1502) 2022-09-14 19:12:06 +07:00
Phan An
91e51f8b54
fix: songs with special chars won't transcode (closes #1481) 2022-09-11 15:33:55 +07:00
Phan An
4be4742c78
Merge pull request #1499 from koel/dev/1476-playlist-folder 2022-09-10 22:18:37 +07:00
Phan An
1730e19d21
test: add tests for playlist folder functionalities 2022-09-10 12:45:04 +07:00
Phan An
52dd323c96
feat: support playlist folders (closes #1476) 2022-09-02 22:01:11 +07:00
Phan An
b5a8784322
fix: clean media cache upon upload 2022-09-02 12:00:49 +07:00
Phan An
1a35a7df3c
fix: use proper integer cast type per DB driver 2022-08-10 09:00:54 +02:00
Phan An
bbbf270965
fix: incorrect deleteWhereValueNotIn behavior 2022-08-10 08:57:20 +02:00
Phan An
9d9dc0b397
refactor: use custom query builders instead of scopes 2022-08-09 20:45:11 +02:00
Phan An
21a6f2c8ff
fix: analysis 2022-08-08 18:15:31 +02:00
Phan An
f010c773a1
feat: rework 3rd integration 2022-08-08 18:00:59 +02:00
Phan An
bd0dc90cce
fix: only revoke current session's token 2022-08-06 09:20:04 +02:00
Phan An
3bee67f910
Revert "feat: hide artists with no albums"
This reverts commit 3f635fa811.
2022-08-04 12:01:48 +02:00
Phan An
3f635fa811
feat: hide artists with no albums 2022-08-04 12:00:50 +02:00
Phan An
61445fa400
fix: album count for contributing artists 2022-08-04 11:52:36 +02:00
Phan An
74833b3a26
feat(demo): dynamic demo credits 2022-08-04 10:34:13 +02:00
Phan An
16c4fdb8ec
feat: use getID3 for audio upload validation 2022-08-03 23:02:07 +02:00
Phan An
07aedd9a52
fix: use UNSIGNED instead of INTEGER to support older MySQL versions 2022-08-03 12:16:44 +02:00
Phan An
ffd77d0051
fix: save env file after init command 2022-08-03 12:01:32 +02:00
Phan An
527e7abb70
chore: resolve conflicts 2022-08-02 11:33:24 +02:00
Phan An
9d3011fe2c
fix: koel:init 2022-08-02 10:21:05 +02:00
Phan An
971a3c2629
fix: make koel:init smoother 2022-08-02 08:22:08 +02:00
Phan An
444e91ab57
chore: add User dependency to SmartPlaylistService 2022-08-01 13:03:58 +02:00
Phan An
c4cffcc2e7
feat: use UUIDs for song IDs 2022-08-01 12:42:33 +02:00
Phan An
61b6ffeeb1
chore(api): shorten display scanned file names 2022-07-31 18:45:34 +02:00
Phan An
a32a2fda0d
chore(api): increase the throttle thresold 2022-07-30 18:06:20 +02:00
Phan An
4258873183
fix: broken tests 2022-07-29 13:08:24 +02:00
Phan An
3c5c24c104
feat: log init errors 2022-07-29 12:53:07 +02:00
Phan An
686c5f70fe
feat: revamp sync and sync commands 2022-07-29 12:51:20 +02:00
Phan An
b12e0c14a7
feat: adap release and init commands to new workflow 2022-07-29 12:49:55 +02:00
Phan An
2835bfedae
fix(test): set fulltext search driver to tntsearch 2022-07-29 10:26:18 +02:00
Phan An
5cd8cbde62
fix: wrap api version check in a try/catch 2022-07-29 09:13:00 +02:00
Phan An
bfd1008f6c
chore: clean up and make code php8-y 2022-07-29 09:04:44 +02:00
Phan An
7de788cb66
fix: make isCompilation nullable 2022-07-28 10:56:02 +02:00
Phan An
0e5e1c6089
fix(api): restore br for lyrics in legacy API 2022-07-28 10:48:52 +02:00
Phan An
4a4bbaf8a7
fix(api): restore Album::is_compilation for backward compat 2022-07-28 09:37:48 +02:00
Phan An
117a3df1f5
feat: replace br with new lines in lyrics 2022-07-28 08:05:15 +02:00
Phan An
7680c71d77
fix: only destroy token if current user is available 2022-07-28 07:51:34 +02:00
Phan An
27ab35a1ae
fix: make API respond to JSON requests 2022-07-28 07:48:04 +02:00
Phan An
a3c1f7aec4
fix(cs): broken static analysis 2022-07-27 20:08:57 +02:00
Phan An
e4ca67bc69
fix(test): broken tests 2022-07-27 12:44:25 +02:00
Phan An
6e2f3764cc
chore(api): remove redundant YouTube controller 2022-07-27 12:18:53 +02:00
Phan An
91f38084eb
feat: change some routes 2022-07-27 11:30:04 +02:00
Phan An
334c53727e
feat(test|api): add PlaylistSong tests 2022-07-27 10:49:33 +02:00
Phan An
aac3ca3cab
feat(test|api): add AlbumInformation tests 2022-07-26 22:54:40 +02:00
Phan An
2da3ddc23c
feat(test|api): add Artist tests 2022-07-26 22:19:58 +02:00
Phan An
9e641c9ba9
feat(test|api): add Album tests 2022-07-26 22:08:31 +02:00
Phan An
c6aeda1730
feat: use number inputs for SongEdit form 2022-07-21 10:08:17 +02:00
Phan An
2ffb39c1b8
feat: add tests and fixes for SongEditForm 2022-07-21 07:26:44 +02:00
Phan An
cebbf13107
feat: improve Spotify integration 2022-07-18 13:24:43 +02:00
Phan An
8e43f73bea
feat: add webp support 2022-07-17 10:24:43 +02:00
Phan An
878815659f
feat: integrate with Spotify 2022-07-17 00:42:29 +02:00
Phan An
1861b30f56
fix: make artist/album info properties nullable 2022-07-14 07:18:44 +02:00
Phan An
08e4953217
feat: decouple artist/album and the media information 2022-07-08 16:53:04 +02:00
Phan An
61740e66df
feat: store settings as json instead of serialized 2022-07-07 23:23:41 +02:00
Phan An
f5608d0058
fix(test): settings test 2022-07-07 12:59:56 +02:00
Phan An
09f54d26d5
fix(sync): properly ignore unchanged files 2022-07-07 12:45:47 +02:00
Phan An
7d4f3caf68
fix(test): broken tests 2022-07-06 18:08:55 +02:00
Phan An
9edc8e5577
fix(song-update): always change album when artist is changed 2022-07-06 15:08:40 +02:00