navidrome/core/playlists
Deluan a5fd18dc67 feat: treat plugin playlists as read-only everywhere
Enforce read-only restrictions for plugin playlists (PluginID != "")
consistently across backend and UI, matching the existing smart playlist
behavior. The Subsonic buildOSPlaylist now uses IsReadOnly() to mark both
smart and plugin playlists as readonly. Backend Update and REST adapter
block name/comment changes on plugin playlists while still allowing
public toggle and cover art. The UI adds isPluginPlaylist helper to
canChangeTracks, disables name/comment inputs in PlaylistEdit, disables
auto-import toggle in PlaylistList, and adds a server-side readonly
filter to exclude both smart and plugin playlists from the "add to
playlist" dialog.
2026-04-12 17:38:21 -04:00
..
import.go feat(playlist): support #EXTALBUMARTURL directive and sidecar images (#5131) 2026-03-02 11:39:59 -05:00
import_test.go feat: add artist image uploads and image-folder artwork source (#5198) 2026-03-15 22:19:55 -04:00
parse_m3u.go refactor: simplify playlist name extraction using strings.CutPrefix 2026-03-23 11:40:16 -04:00
parse_m3u_test.go refactor: move playlist business logic from repositories to service layer (#5027) 2026-02-21 19:57:13 -05:00
parse_nsp.go refactor(jsoncommentstrip): replace go-jsoncommentstrip with custom JSON comment stripping 2026-03-14 10:18:56 -04:00
parse_nsp_test.go feat(server): add percentage-based limits to smart playlists (#5144) 2026-03-04 22:42:49 -05:00
playlists.go feat: treat plugin playlists as read-only everywhere 2026-04-12 17:38:21 -04:00
playlists_suite_test.go refactor: move playlist business logic from repositories to service layer (#5027) 2026-02-21 19:57:13 -05:00
playlists_test.go feat: treat plugin playlists as read-only everywhere 2026-04-12 17:38:21 -04:00
rest_adapter.go feat: treat plugin playlists as read-only everywhere 2026-04-12 17:38:21 -04:00
rest_adapter_test.go feat: treat plugin playlists as read-only everywhere 2026-04-12 17:38:21 -04:00