navidrome/conf
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
..
buildtags feat(server): implement FTS5-based full-text search (#5079) 2026-02-21 17:52:42 -05:00
configtest refactor(conf): replace eager dir creation with lazy Dir type (#5495) 2026-05-13 17:44:22 -03:00
mime fix(ui): service worker does not load new version of ui (#3402) 2024-10-16 21:39:14 -04:00
testdata feat: validate all configuration durations (#6002) 2026-09-01 21:16:14 -04:00
configuration.go fix(playlists): keep escaped glob brackets in PlaylistsPath on Windows (#6276) 2026-10-07 10:10:32 -04:00
configuration_test.go fix(playlists): keep escaped glob brackets in PlaylistsPath on Windows (#6276) 2026-10-07 10:10:32 -04:00
dir.go fix(conf): make Dir a plain value type to prevent sync.Once corruption (#5543) 2026-05-27 23:18:35 -03:00
dir_test.go fix(conf): make Dir a plain value type to prevent sync.Once corruption (#5543) 2026-05-27 23:18:35 -03:00
export_test.go fix(playlists): keep escaped glob brackets in PlaylistsPath on Windows (#6276) 2026-10-07 10:10:32 -04:00