[PR #1735] [MERGED] feat: persist queue and playback state (closes #1675) #1860

Closed
opened 2026-02-26 03:32:35 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/koel/koel/pull/1735
Author: @phanan
Created: 12/29/2023
Status: Merged
Merged: 1/1/2024
Merged by: @phanan

Base: masterHead: queue


📝 Commits (10+)

📊 Changes

35 files changed (+678 additions, -90 deletions)

View changed files

📝 app/Http/Controllers/API/DataController.php (+4 -0)
📝 app/Http/Controllers/API/QueueController.php (+27 -1)
app/Http/Requests/API/UpdatePlaybackStatusRequest.php (+22 -0)
app/Http/Requests/API/UpdateQueueStateRequest.php (+21 -0)
app/Http/Resources/QueueStateResource.php (+25 -0)
app/Models/QueueState.php (+30 -0)
📝 app/Providers/MacroProvider.php (+4 -8)
📝 app/Repositories/AlbumRepository.php (+0 -8)
📝 app/Repositories/ArtistRepository.php (+4 -2)
📝 app/Repositories/Repository.php (+4 -2)
📝 app/Repositories/RepositoryInterface.php (+1 -1)
📝 app/Repositories/SongRepository.php (+13 -3)
app/Services/QueueService.php (+52 -0)
📝 app/Services/SearchService.php (+5 -4)
app/Values/QueueState.php (+18 -0)
database/factories/QueueStateFactory.php (+21 -0)
database/migrations/2023_12_28_223335_create_queue_states_table.php (+25 -0)
📝 resources/assets/js/components/layout/main-wrapper/ExtraDrawer.spec.ts (+15 -13)
📝 resources/assets/js/components/layout/main-wrapper/ExtraDrawer.vue (+4 -4)
📝 resources/assets/js/components/song/SongContextMenu.spec.ts (+1 -1)

...and 15 more files

📄 Description

WIP. This should close #1675 and bring some pretty nice UX.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/koel/koel/pull/1735 **Author:** [@phanan](https://github.com/phanan) **Created:** 12/29/2023 **Status:** ✅ Merged **Merged:** 1/1/2024 **Merged by:** [@phanan](https://github.com/phanan) **Base:** `master` ← **Head:** `queue` --- ### 📝 Commits (10+) - [`d6db336`](https://github.com/koel/koel/commit/d6db336ee7318fdd26ec7f37047427810de0ba20) feat: persist queue and playback state - [`3b805eb`](https://github.com/koel/koel/commit/3b805eb70637c73722d079655d94d0c11768919d) fix: make id primary - [`3deadeb`](https://github.com/koel/koel/commit/3deadeb174415a9f2d2d887a990d5ef3f8bad2c0) fix: split create and alter table clauses - [`840f8ac`](https://github.com/koel/koel/commit/840f8acf5d5cce6242a53e439421262ddd622961) fix: remove redudant primary() - [`7ee3f24`](https://github.com/koel/koel/commit/7ee3f241ab49a85a89b5c5a179b9dccd939c2ae2) fix: init queu - [`1c3bc12`](https://github.com/koel/koel/commit/1c3bc12a3396c276a9629f72fe41586288cf013e) fix: save state right upon playing - [`534bf0a`](https://github.com/koel/koel/commit/534bf0a2e47859ad1ba6b60f23b998f70e932a2a) fix: fetch saved song info - [`210d172`](https://github.com/koel/koel/commit/210d172cbcf70b97a99d743a9db07043fbd09abd) fix: broken tests - [`c5cc757`](https://github.com/koel/koel/commit/c5cc7573ace8aaab927dc97af05a639331480714) fix: broken tests - [`98f614e`](https://github.com/koel/koel/commit/98f614e2eda28c5931a481e618079693e8c57d88) stuff ### 📊 Changes **35 files changed** (+678 additions, -90 deletions) <details> <summary>View changed files</summary> 📝 `app/Http/Controllers/API/DataController.php` (+4 -0) 📝 `app/Http/Controllers/API/QueueController.php` (+27 -1) ➕ `app/Http/Requests/API/UpdatePlaybackStatusRequest.php` (+22 -0) ➕ `app/Http/Requests/API/UpdateQueueStateRequest.php` (+21 -0) ➕ `app/Http/Resources/QueueStateResource.php` (+25 -0) ➕ `app/Models/QueueState.php` (+30 -0) 📝 `app/Providers/MacroProvider.php` (+4 -8) 📝 `app/Repositories/AlbumRepository.php` (+0 -8) 📝 `app/Repositories/ArtistRepository.php` (+4 -2) 📝 `app/Repositories/Repository.php` (+4 -2) 📝 `app/Repositories/RepositoryInterface.php` (+1 -1) 📝 `app/Repositories/SongRepository.php` (+13 -3) ➕ `app/Services/QueueService.php` (+52 -0) 📝 `app/Services/SearchService.php` (+5 -4) ➕ `app/Values/QueueState.php` (+18 -0) ➕ `database/factories/QueueStateFactory.php` (+21 -0) ➕ `database/migrations/2023_12_28_223335_create_queue_states_table.php` (+25 -0) 📝 `resources/assets/js/components/layout/main-wrapper/ExtraDrawer.spec.ts` (+15 -13) 📝 `resources/assets/js/components/layout/main-wrapper/ExtraDrawer.vue` (+4 -4) 📝 `resources/assets/js/components/song/SongContextMenu.spec.ts` (+1 -1) _...and 15 more files_ </details> ### 📄 Description WIP. This should close #1675 and bring some pretty nice UX. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-26 03:32:35 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/koel-koel#1860
No description provided.