[PR #1931] [MERGED] feat: file-based media browser (closes #1919) #1956

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

📋 Pull Request Information

Original PR: https://github.com/koel/koel/pull/1931
Author: @phanan
Created: 5/27/2025
Status: Merged
Merged: 5/28/2025
Merged by: @phanan

Base: masterHead: browse-folder


📝 Commits (3)

  • a0cb0ab feat: file-based browser
  • a9885bd feat: useListSelection composable
  • 0b9731e feat: useListSelection composable

📊 Changes

137 files changed (+2850 additions, -12969 deletions)

View changed files

📝 .env.example (+6 -0)
📝 .github/workflows/unit-backend-mysql.yml (+1 -1)
📝 .github/workflows/unit-backend-pgsql.yml (+1 -1)
📝 .github/workflows/unit-backend.yml (+1 -1)
app/Attributes/RequiresPlus.php (+14 -0)
📝 app/Builders/SongBuilder.php (+8 -1)
app/Console/Commands/ExtractFoldersCommand.php (+57 -0)
📝 app/Enums/SongStorageType.php (+5 -0)
app/Exceptions/LocalStorageRequiredException.php (+9 -0)
app/Exceptions/MediaBrowserNotSupportedException.php (+9 -0)
📝 app/Http/Controllers/API/FetchInitialDataController.php (+3 -0)
app/Http/Controllers/API/MediaBrowser/FetchFolderSongsController.php (+24 -0)
app/Http/Controllers/API/MediaBrowser/FetchRecursiveFolderSongsController.php (+18 -0)
app/Http/Controllers/API/MediaBrowser/FetchSubfoldersController.php (+24 -0)
app/Http/Controllers/API/MediaBrowser/PaginateFolderSongsController.php (+28 -0)
📝 app/Http/Controllers/API/PlaylistCollaboration/AcceptPlaylistCollaborationInviteController.php (+3 -1)
📝 app/Http/Controllers/API/PlaylistCollaboration/CreatePlaylistCollaborationTokenController.php (+2 -0)
📝 app/Http/Controllers/API/PlaylistCollaboration/PlaylistCollaboratorController.php (+2 -3)
📝 app/Http/Controllers/API/PrivatizeSongsController.php (+2 -3)
📝 app/Http/Controllers/API/PublicizeSongsController.php (+2 -3)

...and 80 more files

📄 Description

No description provided


🔄 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/1931 **Author:** [@phanan](https://github.com/phanan) **Created:** 5/27/2025 **Status:** ✅ Merged **Merged:** 5/28/2025 **Merged by:** [@phanan](https://github.com/phanan) **Base:** `master` ← **Head:** `browse-folder` --- ### 📝 Commits (3) - [`a0cb0ab`](https://github.com/koel/koel/commit/a0cb0ab3394fbb2081bb4a93a30385a73e3fe1b2) feat: file-based browser - [`a9885bd`](https://github.com/koel/koel/commit/a9885bde58ff9bfaafd8729687ef3a90d06476e2) feat: useListSelection composable - [`0b9731e`](https://github.com/koel/koel/commit/0b9731e5e519d2d0e62861bf3353a61417e9ab5f) feat: useListSelection composable ### 📊 Changes **137 files changed** (+2850 additions, -12969 deletions) <details> <summary>View changed files</summary> 📝 `.env.example` (+6 -0) 📝 `.github/workflows/unit-backend-mysql.yml` (+1 -1) 📝 `.github/workflows/unit-backend-pgsql.yml` (+1 -1) 📝 `.github/workflows/unit-backend.yml` (+1 -1) ➕ `app/Attributes/RequiresPlus.php` (+14 -0) 📝 `app/Builders/SongBuilder.php` (+8 -1) ➕ `app/Console/Commands/ExtractFoldersCommand.php` (+57 -0) 📝 `app/Enums/SongStorageType.php` (+5 -0) ➕ `app/Exceptions/LocalStorageRequiredException.php` (+9 -0) ➕ `app/Exceptions/MediaBrowserNotSupportedException.php` (+9 -0) 📝 `app/Http/Controllers/API/FetchInitialDataController.php` (+3 -0) ➕ `app/Http/Controllers/API/MediaBrowser/FetchFolderSongsController.php` (+24 -0) ➕ `app/Http/Controllers/API/MediaBrowser/FetchRecursiveFolderSongsController.php` (+18 -0) ➕ `app/Http/Controllers/API/MediaBrowser/FetchSubfoldersController.php` (+24 -0) ➕ `app/Http/Controllers/API/MediaBrowser/PaginateFolderSongsController.php` (+28 -0) 📝 `app/Http/Controllers/API/PlaylistCollaboration/AcceptPlaylistCollaborationInviteController.php` (+3 -1) 📝 `app/Http/Controllers/API/PlaylistCollaboration/CreatePlaylistCollaborationTokenController.php` (+2 -0) 📝 `app/Http/Controllers/API/PlaylistCollaboration/PlaylistCollaboratorController.php` (+2 -3) 📝 `app/Http/Controllers/API/PrivatizeSongsController.php` (+2 -3) 📝 `app/Http/Controllers/API/PublicizeSongsController.php` (+2 -3) _...and 80 more files_ </details> ### 📄 Description _No description provided_ --- <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:52 +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#1956
No description provided.