navidrome/core/playlists
Deluan cbf55d932d fix(playlists): keep escaped glob brackets in PlaylistsPath on Windows (#6276)
Converting every '\' to '/' broke escaped literals such as '\[Mix\]',
which matched a real "[Mix]" folder before. On Windows, '\' is now a
path separator except for an escaped pair ('\[...\]', '\{...\}') or a
lone '\]' / '\}', so 'Playlists\navidrome', 'Playlists\{rock,jazz}',
'Playlists\[ab]' and '\[Mix\]' all work. Other OSes keep the pattern
as is. A separator right before an escaped pair must be written as '/'
or '\\' ('Playlists/\[Mix\]').

InPath now matches the folder's slash-separated library path
(path.Join(Path, Name)) instead of a filepath.Rel/ToSlash round trip,
and gets its patterns from conf.PlaylistsPathPatterns, which the
config validation can share.

Tests cover the conversion, InPath with scanner-built folders, and
scans of real folders (nested paths, brackets, braces, controls).
2026-10-07 10:10:32 -04:00
..
import.go feat(scanner): per-library PID configuration (#6252) 2026-10-02 05:05:32 -04:00
import_test.go fix(playlists): keep escaped glob brackets in PlaylistsPath on Windows (#6276) 2026-10-07 10:10:32 -04:00
parse_m3u.go feat(scanner): per-library PID configuration (#6252) 2026-10-02 05:05:32 -04:00
parse_m3u_test.go feat(scanner): per-library PID configuration (#6252) 2026-10-02 05:05:32 -04:00
parse_nsp.go refactor: multiple syntax updates for Go 1.26 2026-05-19 18:02:36 -03:00
parse_nsp_test.go fix(smartplaylist): reject NSP mixing top-level 'any' and 'all' (#5759) 2026-07-10 20:27:29 -04:00
playlists.go fix(playlists): keep escaped glob brackets in PlaylistsPath on Windows (#6276) 2026-10-07 10:10:32 -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 refactor(persistence): stateless repositories with per-call context (#6149) 2026-09-25 18:06:10 -04:00
rest_adapter.go refactor(persistence): stateless repositories with per-call context (#6149) 2026-09-25 18:06:10 -04:00
rest_adapter_test.go refactor(persistence): stateless repositories with per-call context (#6149) 2026-09-25 18:06:10 -04:00