Commit graph

796 commits

Author SHA1 Message Date
Phan An
d0f61a0f4e feat: integrate with Lemon Squeezy 2024-01-11 20:29:13 +01:00
Phan An
9d94df50a8 feat: rename (alias) koel:sync to koel:scan and add owner/private options 2024-01-11 20:29:12 +01:00
Phan An
e0ca8e8bd5 feat: allows users to upload for Plus 2024-01-11 20:29:03 +01:00
Phan An
0aa105266c feat: mark external songs with icon 2024-01-11 20:27:16 +01:00
Phan An
9e27a08960 feat: supports multi-tenant 2024-01-11 20:27:16 +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
Phan An
53d9e54dfb
fix: set song title to be empty if not found 2022-07-06 13:07:56 +02:00
Phan An
9d79d95cb9
refactor: massively simplify SmartPlaylist logic 2022-07-06 13:07:20 +02:00
Phan An
32bfb742fe
fix: shareable URL 2022-07-05 23:43:35 +02:00
Phan An
bd5cd1e621
fix: broken sorts 2022-07-05 16:46:23 +02:00
Phan An
5c60757d74
fix: incorrect search 2022-07-05 16:19:52 +02:00
Phan An
58659c2e30
feat: better supports for compilation when scanning 2022-07-05 15:47:26 +02:00
Phan An
a59866c453
chore: remove default album covers 2022-07-05 11:03:11 +02:00
Phan An
d90e7641f2
feat: better playlist handling 2022-07-04 12:39:02 +02:00
Phan An
fbbe434204
feat!: make app progressive 2022-07-04 10:36:39 +02:00
Phan An
f0f1d975c9
migration: settings screen 2022-04-22 00:20:21 +02:00
Phan An
699e2b5a98
Merge branch 'master' of github.com:koel/koel into master 2022-04-21 18:36:48 +02:00
Phan An
c4365ae88c
fix: batch unfavorite songs 2022-04-21 18:36:37 +02:00
Phan An
8af939cdd6
fix: batch unfavorite songs 2022-04-21 18:36:11 +02:00
Kyle Travis
4cfd0852d3
Fix S3 storage song compilation setting (#1426)
Co-authored-by: Phan An <me@phanan.net>
2022-04-13 15:59:37 +02:00
Phan An
b222ba3ac0
fix: downloading song yields error
closes #1356
2022-01-18 00:21:14 +01:00
Phan An
92bf0a4958
fix: renamed method 2021-12-10 16:27:06 +01:00
Phan An
2cb64de316
feat: rename koel:tidy to koel:prune 2021-12-10 16:23:04 +01:00
Phan An
f4161fc567
chore: use noContent() method on response 2021-12-06 18:07:43 +01:00
Phan An
aedff9cf6e
fix: do not remove S3-hosted songs post-sync (#1390) 2021-12-06 17:12:47 +01:00
Allen Taylor
aae444a9b4
fix: made rules optional (#1370)
Co-authored-by: Allen Taylor <allen.taylor@check24.de>
Co-authored-by: Phan An <me@phanan.net>
2021-10-25 21:17:25 +02:00
Phan An
1b2a70f5c1
chore: better routes (#1368) 2021-10-11 16:23:00 +02:00
Phan An
54d2029d47
feat(playlist): use own controller for playlist songs (#1367) 2021-10-11 13:30:27 +02:00
Phan An
30f4878ec3
feat(smart-playlist): validate smart playlist request (#1366) 2021-10-10 20:05:51 +02:00
Phan An
b29000bf8d
feat(smart-playlist): use proper Eloquent cast for rules (#1363) 2021-10-08 18:23:45 +02:00
Phan An
230ec454dd
fix(smart-playlist): ignore songs when creating a smart playlist (#1362) 2021-10-08 12:19:44 +02:00
Phan An
70696da096
feat: require PHP7.4 (#1326) 2021-06-05 12:47:56 +02:00
Phan An
b45ad25dfc
fix: code analysis error 2021-06-04 18:24:26 +02:00
Phan An
51130e3a20
feat: use model casting for user preferences 2021-06-04 18:19:34 +02:00
Phan An
ef1add3877
feat(lastfm): batch like/unlike are now asynchronous 2021-06-04 17:19:33 +02:00
Phan An
a5389c41f7
feat: implement stricter password rules 2021-05-21 19:14:00 +02:00
Phan An
12b3ee69da
feat: throttle login attempts (#1319) 2021-05-21 13:50:23 +02:00
Robin Burchell
d9c2f9f368
fix: non-interactive database connection failures (#1306)
Two problems here:
1) endlessly attempting to reconnect (with no interval between attempts)
   is a nightmare that will use resources and spam logs with no respite
2) attempting to update the database credentials on a connection failure
   is definitely not the right thing to do, as they cannot be requested
   when non-interactive.

Problem 1 is not really an issue in interactive use, because the user
being asked for credentials will slow down the connection attempts.

Problem 2 _could_ conceiveably be a problem in interactive mode (if
there's some sort of transient connection failure), but if this is a
problem, it should perhaps be discussed & addressed separately.

Fixes #1294
2021-04-16 16:15:21 +02:00
Tony Wasserka
c9446c4adb
Recognize the standard MIME type for uploaded FLAC audio (#1290)
Before this change, Koel only recognized the non-standard MIME type audio/x-flac.

Server-side portion of https://github.com/koel/core/pull/53.
2021-04-11 19:51:36 +02:00
Phan An
2ea5108e30 feat(test): better test script 2021-01-31 18:49:54 +01:00
Phan An
8a966242f0 feat: reset API token if password is changed 2021-01-31 18:21:57 +01:00
Phan An
4432ad6c21 feat: use default admin credentials during setup 2021-01-23 19:58:08 +01:00
Phan An
e284a40d0d feat: store Koel version in a .version config file instead 2021-01-10 23:18:14 +01:00
Phan An
79ceed0820 chore: sync with core 2021-01-10 21:49:02 +01:00
Phan An
4557568208 chore: bump version 2021-01-09 13:40:37 +01:00
Phan An
d189c719ae feat(search): add Playlist as searchable 2021-01-05 17:52:16 +01:00