yonlu
3173b78a87
chore(Q1): auto-commit after quick-task
2026-03-22 11:07:17 -04:00
yonlu
477b7ff6a2
feat(M002): smart playlists — rule engine, editor UI, sidebar integration
...
Recovered from orphaned worktree commits (complete-milestone failed to merge).
Backend:
- Migration 9: is_smart + smart_rules columns on playlists table
- smartplaylist package: parameterized WHERE clause builder, field whitelist, genre subquery
- playlist.Service: Create/Update/Evaluate/Preview/GetRules smart playlist methods
- 65 tests (49 rule engine + 15 service + 1 migration)
Frontend:
- yj-combobox: reusable typeable dropdown with keyboard nav, ARIA, blur-race fix
- smart-playlist-editor: row-based rule builder with live preview
- smart-playlist-details: evaluate, refresh, play, shuffle, edit rules
- Sidebar: filter icon, Smart badge, create button, routing
- Queue snapshot on play/shuffle
2026-03-21 12:53:00 -04:00
yonlu
9f595b7ac1
fix(13-02): resolve phantom playlist tracks using M3U8 paths after scan
...
- Add ScanHooks callback struct to library package (follows RemovalHooks pattern)
- Move phantom resolution from library to playlist service via hook
- New ResolvePhantomTracksAfterScan reads M3U8 files and resolves paths
against current audio_files using multi-root resolution
- Handles pre-existing phantoms (match by M3U8 position) and new ones
(match by phantom_file_path)
- Delete old resolvePhantomTracks method that required phantom_file_path
- Wire ScanHooks in app.go OnStartup
2026-03-16 12:47:42 -04:00
yonlu
83de934c39
feat(quick-8): add FindDuplicateTracksInPlaylist backend method
...
- Add DuplicateTrackInfo and DuplicateCheckResult types
- Implement FindDuplicateTracksInPlaylist on playlist Service
- Regenerate Wails TypeScript bindings
2026-03-01 11:12:04 -05:00
yonlu
2a542bf3bc
feat(quick-001): regenerate bindings and update frontend for multi-import
...
- Wails bindings reflect new PlaylistFilePicker and ImportPlaylists signatures
- Frontend handleImportPlaylist now passes file array to ImportPlaylists
2026-02-28 13:31:29 -05:00
yonlu
d01f5e5d14
added "default playlist"/ favorites system
2026-02-25 22:53:57 -05:00
yonlu
e192d4625e
playlist phantom track matching added, updated search queries for efficiency
2026-02-24 21:23:25 -05:00
yonlu
560ab3a3b5
playlists now save to files, can be restored from files
2026-02-19 23:10:20 -05:00
yonlu
026ab1c333
adjusted frontend event handling to optimize json payload size for different events, fixed incorrect behavior when currently playing track is removed from queue
2026-02-18 00:49:29 -05:00
yonlu
50718fd633
added db query optimizations to playlists view, added caching
2026-02-17 11:39:17 -05:00
yonlu
95e1b32e86
view tracks in playlist view and play playlists
2026-02-16 02:18:45 -05:00
yonlu
4c09e7abee
playlist creation, viewing, integration with other views. still wip for full playlist functionality
2026-02-16 00:27:36 -05:00