Commit graph

331 commits

Author SHA1 Message Date
Phan An
c4cffcc2e7
feat: use UUIDs for song IDs 2022-08-01 12:42:33 +02:00
Phan An
4258873183
fix: broken tests 2022-07-29 13:08:24 +02:00
Phan An
686c5f70fe
feat: revamp sync and sync commands 2022-07-29 12:51:20 +02:00
Phan An
bfd1008f6c
chore: clean up and make code php8-y 2022-07-29 09:04:44 +02:00
Phan An
a3c1f7aec4
fix(cs): broken static analysis 2022-07-27 20:08:57 +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
08e4953217
feat: decouple artist/album and the media information 2022-07-08 16:53:04 +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
9d79d95cb9
refactor: massively simplify SmartPlaylist logic 2022-07-06 13:07:20 +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
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
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
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
b29000bf8d
feat(smart-playlist): use proper Eloquent cast for rules (#1363) 2021-10-08 18:23:45 +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
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
e284a40d0d feat: store Koel version in a .version config file instead 2021-01-10 23:18:14 +01:00
Phan An
588b30d9bb feat: modify the response format for search 2020-12-25 12:52:28 +01:00
Phan An
c9fe724036 feat: add Song search 2020-12-24 23:35:39 +01:00
Phan An
201da1caa5 feat: add Excerpt search 2020-12-24 13:41:18 +01:00
Phan An
50a94cb4b9 chore: fix static analysis problems 2020-12-23 00:01:49 +01:00
Phan An
560d41bf1d chore: fix CS 2020-12-22 21:11:22 +01:00
Phan An
a90d961440 chore(builds): update packages 2020-12-22 21:11:07 +01:00
Phan An
58c00192ad
chore(builds): upgrade to Laravel 8 (#1261) 2020-11-14 17:57:25 +01:00
Phan An
84b05c449f feat: move non-API routes out of API namespace 2020-09-07 22:43:23 +02:00
Phan An
4b799e85a7 feat: add PHPCSFixer 2020-09-06 23:20:42 +02:00
Phan An
d5e2d3ec79 fix: make Lastfm work with Sanctum 2020-09-06 23:11:48 +02:00
Phan An
e356e72814 feat: upgrade Laravel to 7.x 2020-09-06 20:21:39 +02:00
Phan An
3fbf14efd2 chore: sandbox tests 2020-06-13 14:19:24 +02:00
Phan An
c707a0be65 feat: delete old album/artist images upon creating new ones 2020-06-13 13:00:51 +02:00
Phan An
dcf6970355 chore: make album thumbnail blurry 2020-06-12 17:05:18 +02:00
Phan An
6977cc4986 feat: get album thumbnail from the server 2020-06-12 15:55:45 +02:00
Phan An
e6eb28ba2d feat: add upload feature 2020-06-07 22:43:04 +02:00
Phan An
2ecc37bf63 feat: use a Intervention/Image for proper image handling 2020-04-27 22:32:24 +02:00
Phan An
70e0f28774 feat: make Last.fm-related features queue-ready 2020-04-27 20:55:23 +02:00
Phan An
e5a67fed05 feat: drag/drop to upload album/artist images 2020-04-26 21:09:43 +02:00
Phan An
236b50fb56 fix: broken Lastfm search if empty bio/wiki 2020-04-23 00:14:05 +02:00
Phan An
185cbeb870
Use JSON instead of XML for Last.fm API (#1215)
* trigger Travis build

* Revert "trigger Travis build"

This reverts commit 4c6410c79c.

* feat: use JSON instead of XML for Last.fm API
2020-04-18 16:15:07 +02:00
dependabot-preview[bot]
cce534bac9
chore(deps): bump aws/aws-sdk-php-laravel from 3.4.0 to 3.5.0 (#1195)
* chore(deps): bump aws/aws-sdk-php-laravel from 3.4.0 to 3.5.0

Bumps [aws/aws-sdk-php-laravel](https://github.com/aws/aws-sdk-php-laravel) from 3.4.0 to 3.5.0.
- [Release notes](https://github.com/aws/aws-sdk-php-laravel/releases)
- [Changelog](https://github.com/aws/aws-sdk-php-laravel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-php-laravel/compare/3.4.0...3.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Apply fixes from StyleCI (#1196)

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: Phan An <me@phanan.net>
2020-03-12 16:30:52 +01:00
Phan An
8f142eb03b
Apply fixes from StyleCI (#1194) 2020-03-10 11:16:55 +01:00
Torbjörn Lönnemark
d487727fd5
Fix TranscodingStreamer for PHP 7.4 (#1189)
Passing the glue parameter after the pieces parameter when calling
implode is deprecated as of PHP 7.4.

This was the only remaining instance, all other implode calls already
use the correct parameter order.
2020-03-10 11:16:34 +01:00
Phan An
eed350e890 fix: broken YouTube service when there's no connection 2020-01-31 01:51:59 +07:00
Phan An
4e7f4d1456
Downgrade getID3 (#1104)
* fix: downgrade getID3 to avoid bugs

* Apply fixes from StyleCI (#1103)
2019-10-09 19:36:22 +02:00
Phan An
f485e2e2ad Some minor tweaks 2019-08-13 15:56:59 +07:00
Phan An
951bcc85a8
Apply fixes from StyleCI (#1042) 2019-08-07 15:17:54 +07:00
Phan An
5f23f53c8d Upgrade GetID3 (fixes #1040) 2019-08-07 15:17:30 +07:00
Phan An
2a3129d3f3 Upgrade Laravel to 5.8 2019-07-22 09:03:23 +02:00
Phan An
fea98c017c Sync with core 2019-07-04 21:50:27 +02:00
Phan An
154de03251
Apply fixes from StyleCI (#1017) 2019-07-01 10:12:04 +02:00
Phan An
a19e30e74a Use constants for HTTP status code 2019-06-30 17:27:07 +02:00
Phan An
b3b9202ed8 Fix some problems with code analytics 2019-06-30 16:23:02 +02:00
Phan An
96488ba091 Refactor file synchronizer class 2019-06-30 15:37:33 +02:00
Phan An
d5d75577ed
Apply fixes from StyleCI (#1015) 2019-06-30 13:24:04 +02:00
Phan An
69cfab9515 Rename SyncCommand file 2019-06-30 13:22:01 +02:00
Phan An
cd84735a08
Apply fixes from StyleCI (#1014) 2019-06-30 13:13:41 +02:00
Phan An
931d5dbf6f Make album and artist image paths not so random 2019-06-30 13:13:20 +02:00
Phan An
9efd232daf Add some improvements for SongZipArchive 2019-06-30 12:18:48 +02:00
Phan An
5f77c061f9
Apply fixes from StyleCI (#999) 2019-06-16 23:13:25 +02:00
Phan An
d4c68e33e5 Fix return type 2019-06-16 23:12:56 +02:00
red-coracle
d9358cc181 Fix downloading songs from favourites playlist (#979) 2019-05-24 10:20:47 +02:00
Phan An
57a566834b Add tests for iTunes service 2019-04-07 23:09:25 +02:00
Javier López
7ba295efad Non interactive koel:init (#886)
* Use ADMIN_* variables if available to create the admin account

* Add APP_MEDIA_PATH for media directory

* Use the standard --no-interaction flag to koel:init

* Undo variable aligment and code formatting

* Prefer early return over else, add new line before return statements

* Some fixes
2019-01-01 12:53:20 +01:00
Phan An
d45948e1bd Revise the smart playlist rule 2018-11-18 22:50:15 +01:00
Phan An
d088561e06
Add "Smart Playlist" backend logics (#849)
This commit prepares the backend for the "Smart Playlist" feature.
2018-11-04 00:25:08 +01:00
Phan An
6f0db1620f
Add "Recently Played" playlist (#839)
* Add "Recently Played" playlist

* Apply fixes from StyleCI (#838)
2018-10-20 23:46:12 +02:00
Phan An
1c26d6bb66
Upgrade and fix getID3 lyrics tag issue (#835) 2018-10-19 16:32:16 +02:00
Phan An
c5f5a67789
Fix error with cover file (#823)
* Fix error with cover file

* Apply fixes from StyleCI (#822)
2018-10-06 12:44:25 +02:00
Phan An
3313cd1a1d
Apply fixes from StyleCI (#804) 2018-09-04 13:26:02 +07:00
Phan An
096eb7e610 Remove over-engineered service 2018-09-04 13:25:24 +07:00
Phan An
4b8153e503 Fix parameter type 2018-09-04 13:09:52 +07:00
Phan An
5102e75698
Apply fixes from StyleCI (#803) 2018-09-04 12:43:12 +07:00
Phan An
373870fefb Add a UserPreferenceService 2018-09-04 12:34:02 +07:00
Phan An
5c870ee254 Refactor Lastfm's connect 2018-09-04 09:24:29 +07:00
Phan An
47480ef49d
Apply fixes from StyleCI (#802) 2018-09-03 20:15:36 +07:00
Phan An
efcb6757d2 Fix type hint 2018-09-03 20:14:55 +07:00
Phan An
24cff9c2a8
Apply fixes from StyleCI (#801) 2018-09-03 20:13:54 +07:00
Phan An
5a4a6367be Fix type hint 2018-09-03 20:13:24 +07:00
Phan An
368d7ab484
Apply fixes from StyleCI (#800) 2018-09-03 19:42:37 +07:00
Phan An
a57fe76dfe Fix some more advanced errors reported by PHPStan 2018-09-03 19:42:14 +07:00
Phan An
40d4174d04
Apply fixes from StyleCI (#799) 2018-08-31 20:47:45 +07:00
Phan An
d88dd79f15 Fix basic errors detected by PHPStan 2018-08-31 20:47:15 +07:00
Phan An
c4beca787b Assert that version is cached 2018-08-30 12:42:47 +07:00
Phan An
b91d478fdf
Apply fixes from StyleCI (#798) 2018-08-30 12:37:24 +07:00
Phan An
351efe4092 Move version checking logic to a service 2018-08-30 12:37:03 +07:00
Phan An
06b7f7f5ca
Apply fixes from StyleCI (#797) 2018-08-30 10:16:40 +07:00
Phan An
3b2f6b9d1c Fix type hint 2018-08-30 10:16:21 +07:00
Phan An
86cd0fbb4f
Apply fixes from StyleCI (#796) 2018-08-30 09:53:39 +07:00
Phan An
37ec4aaa6f Use a proper package for php streamer 2018-08-30 09:53:18 +07:00
Phan An
2349a66a31 Refactor php streamer 2018-08-30 09:45:48 +07:00
Phan An
6eae3b53a2 Service configs can be null 2018-08-29 17:36:05 +07:00
Phan An
8638c229a8 Fix the error with S3Client being null 2018-08-29 17:18:56 +07:00
Phan An
fe34592e66
Apply fixes from StyleCI (#793) 2018-08-29 11:42:11 +02:00
Phan An
1558062428 Rewrite the file synchronization handling logic 2018-08-29 16:41:42 +07:00
Phan An
3825452658
Apply fixes from StyleCI (#790) 2018-08-29 09:07:44 +02:00
Phan An
b227ece517 Refactor Lastfm and iTunes services 2018-08-29 14:05:24 +07:00
Phan An
0ad670ffff Use repositories 2018-08-29 13:30:39 +07:00
Phan An
bf1d158c90 Refactor S3 2018-08-29 13:15:24 +07:00
Phan An
ffa05696c8 Upgrade to Larave 5.5 and PHP 7 2018-08-29 13:15:23 +07:00
Phan An
20282ed633 Use repositories 2018-08-29 13:15:11 +07:00
Phan An
f4ca7cf09f Refactor S3 2018-08-29 11:06:17 +07:00
Phan An
1dd5457084 Upgrade to Larave 5.5 and PHP 7 2018-08-24 17:27:19 +02:00
Phan An
6a2a2263fa
Apply fixes from StyleCI (#786) 2018-08-22 22:25:23 +02:00
Phan An
a340a64748 Better download tests 2018-08-22 22:25:01 +02:00
Phan An
6cadfc5ac3 Tests for streamer factory 2018-08-22 21:14:28 +02:00
Phan An
eed836bcb9
Apply fixes from StyleCI (#784) 2018-08-22 19:59:36 +02:00
Phan An
7c7693179d Refactor streamers 2018-08-22 19:59:14 +02:00
Phan An
5cf19b09aa
Apply fixes from StyleCI (#779) 2018-08-19 17:26:52 +02:00
Phan An
f3887e6276 Rewrite Sync command 2018-08-19 17:26:34 +02:00
Phan An
a837432a4e Use proper DI for cache service 2018-08-19 16:58:14 +02:00
Phan An
1c76ff6d76 Use a service for iTunes 2018-08-19 16:40:25 +02:00
Phan An
6181041331
Apply fixes from StyleCI (#778) 2018-08-19 13:13:29 +02:00
Phan An
67357316bc Big revamp for lastfm and youtube services 2018-08-19 13:13:08 +02:00
Phan An
d4d2b0aff3
Apply fixes from StyleCI (#777) 2018-08-19 11:06:59 +02:00
Phan An
5fbec01c50 Big revamp for artist and album info 2018-08-19 11:06:31 +02:00
Phan An
4fc5117509 Use a service for media info 2018-08-18 15:19:40 +02:00
Phan An
1d5c8e84b6 Use a service for Interaction 2018-08-18 14:27:44 +02:00
Phan An
181357f3de Rename Download service 2018-08-18 14:27:17 +02:00
Phan An
168f70481c Fix download issues 2018-08-18 12:35:42 +02:00
Phan An
b1165c2f0f Fix broken PHPStream logic (fixes #707) 2018-04-14 23:03:04 +02:00
Phan An
e11e9d1392 Optimize PHPStreamer (closes #708) 2018-04-14 22:46:08 +02:00
Phan An
cdf9faafbf Use correct Last-Modified date (fixes #709) 2018-04-14 22:36:41 +02:00
Phan An
bf3ca591d1
Apply fixes from StyleCI (#694) 2017-12-09 21:10:55 +01:00
Phan An
bca8668ace Refactor and use extending request classes 2017-12-09 19:34:27 +01:00
Fiete Börner
4298774e7f implement simple multi disc support (#687)
* add disc field to songs table via migration

* add disc field to song model

* collect disc information in file sync process

* sort song list by disc and track number in album context

* check the disc field in file test

* remove nullable flag from disc field in add_disc_into_songs migration

* fix php code style issues

* fix js code style

* fix sort usage in song-list

* sort songs by inserting into queue by clicking the album/artist item play button (album_id, disc, track)

* add disc to sync tags in media model
2017-12-03 11:02:31 +01:00
Phan An
ee227865be Apply fixes from StyleCI (#640) 2017-08-21 22:05:03 +01:00
Phan An
c95d74d487 Add a memory limit setting 2017-08-21 21:45:01 +01:00
Phan An
0f1be0ae98 Refactor YouTube cache 2017-08-19 17:09:00 +01:00
Phan An
7ec5cfb2af Apply fixes from StyleCI (#633) 2017-08-05 23:27:41 +01:00
Phan An
f344b4c3fa Make tests green 2017-08-05 23:27:26 +01:00
Phan An
e16a500510 Refactor media cache 2017-08-05 22:51:59 +01:00
Phan An
e96c4d5073 Remove redundant code 2017-06-10 12:36:32 +01:00
Phan An
796088944d Add more refactorings 2017-06-04 02:30:45 +01:00
Phan An
caf13fbac0 Refactor Download service 2017-06-04 02:12:08 +01:00
Phan An
aa7267419d Massive refactorings 2017-06-04 00:21:50 +01:00
Phan An
9e863abdc2 Apply fixes from StyleCI (#608) 2017-06-03 17:48:13 +01:00
Phan An
7d80f1d143 Refactor and fix code styles 2017-06-03 17:35:08 +01:00