yonlu
ea3648f3f8
docs(quick-5): plan sort dropdown for playlist view
2026-03-01 08:36:16 -05:00
yonlu
85412e2eaa
docs(quick-4): Add set as default playlist context menu option for single playlist selection
2026-02-28 14:26:51 -05:00
yonlu
af62fa4981
docs(quick-4): complete 'Set as Default Playlist' context menu plan
...
- Add 4-SUMMARY.md with execution results
- Update STATE.md with quick task 004 entry
2026-02-28 14:26:20 -05:00
yonlu
9971b635b8
feat(quick-4): add 'Set as Default Playlist' context menu option
...
- Add 'set-default' case in onPlaylistContextAction handler
- Add wa-dropdown-item with star icon in single-select guard block
- Option only appears when right-clicking a single playlist
2026-02-28 14:25:31 -05:00
yonlu
a877031297
docs(quick-3): Add multi-select to playlist view with context menu delete support
2026-02-28 14:16:56 -05:00
yonlu
99401ab5c7
docs(quick-3): complete playlist multi-select plan
...
- Add 3-SUMMARY.md with execution results
- Update STATE.md with quick task 003 entry
2026-02-28 14:16:26 -05:00
yonlu
c92ced2c74
feat(quick-3): wire playlist context menu for batch delete of selected playlists
...
- Update handlePlaylistContextMenu to respect multi-selection on right-click
- Make onPlaylistContextAction async with batch delete support
- Show 'Delete N Playlists' in context menu when multiple playlists selected
- Hide 'Rename' option when multiple playlists are selected
- Clear playlist selection after any context action completes
2026-02-28 14:15:24 -05:00
yonlu
e13151ffa5
feat(quick-3): add playlist-level multi-select state and selection handling
...
- Add selectedPlaylists Set and lastSelectedPlaylistIndex for multi-select state
- Replace handleToggle with handlePlaylistHeaderClick supporting Ctrl/Shift+Click
- Clear playlist selection when entering track selection scope
- Clear playlist selection on outside clicks
- Add .playlist-header.selected CSS with selection background color
- Wire header click to new handler with selected class in template
2026-02-28 14:14:29 -05:00
yonlu
be38937f84
docs(quick-002): complete auto-rename duplicate playlists on import summary
...
- Add 002-SUMMARY.md with task details and verification results
- Update STATE.md quick tasks table
2026-02-28 13:54:12 -05:00
yonlu
8ba8bbe7be
feat(quick-002): add uniquePlaylistName helper and wire into ImportPlaylist
...
- Add uniquePlaylistName method to auto-rename duplicate names with (1), (2), etc.
- Call uniquePlaylistName only from ImportPlaylist, not CreatePlaylist
2026-02-28 13:53:21 -05:00
yonlu
04b2088b28
feat(quick-002): add CountPlaylistsByName SQL query and regenerate sqlc
...
- Add CountPlaylistsByName :one query to playlists.sql
- Regenerate sqlc to produce Go function
2026-02-28 13:52:21 -05:00
yonlu
981bd046da
docs(quick-002): plan auto-rename duplicate playlists on import
2026-02-28 13:42:31 -05:00
yonlu
a5be8e1efc
docs(quick-001): multi-playlist import support
2026-02-28 13:33:28 -05:00
yonlu
50c8a3344a
docs(quick-001): complete multi-playlist import support summary
2026-02-28 13:32:56 -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
c34e4ad029
feat(quick-001): add multi-file picker and batch import support
...
- Update PlaylistFilePicker to return []string via OpenMultipleFilesDialog
- Add ImportPlaylists method for sequential batch import with partial success
2026-02-28 13:30:36 -05:00
yonlu
7f52dce296
docs(quick-001): plan multi-playlist import support
2026-02-28 13:18:49 -05:00
yonlu
6b4f0bf14b
docs(phase-01): complete phase execution
2026-02-28 12:16:37 -05:00
yonlu
cd07bdf37b
docs(01-01): complete SetContext race fixes plan
...
- Created 01-01-SUMMARY.md with execution results
- Updated STATE.md with Phase 1 completion and decisions
- Updated ROADMAP.md progress (Phase 1: 1/1 plans complete)
- Marked CORR-01 through CORR-04 complete in REQUIREMENTS.md
2026-02-28 12:13:44 -05:00
yonlu
3abaeba3af
fix(01-01): collapse Player.SetContext double-lock into single acquisition
...
- Replaced two separate Lock/Unlock pairs with single Lock/defer Unlock
- Both p.ctx assignment and p.restoreStateLocked() now run under same lock hold
- Prevents observing partially-initialized state between the two operations
2026-02-28 12:09:34 -05:00
yonlu
daaa6b7f97
fix(01-01): add mutex protection to Queue, Library, and Playlist SetContext methods
...
- Queue.SetContext acquires existing q.mu before writing q.ctx
- Library struct gets new mu sync.Mutex; SetContext and SetRescanHooks acquire it
- Playlist Service struct gets new mu sync.Mutex; SetContext and SetFavoritesConfig acquire it
- Library and Playlist release lock before calling post-init methods (registerEventHandlers, migrateExistingPlaylists)
2026-02-28 12:09:14 -05:00
yonlu
4e2986e19c
docs(01): create phase plan for concurrency race fixes
2026-02-27 14:50:27 -05:00
yonlu
c086215533
docs: create roadmap (8 phases)
2026-02-27 13:16:41 -05:00
yonlu
cdffd13395
docs: define v1 requirements
2026-02-27 11:16:03 -05:00
yonlu
98fd06d725
docs: complete project research for consolidation milestone
2026-02-27 10:53:44 -05:00
yonlu
1953b26957
chore: add project config
2026-02-27 10:20:07 -05:00
yonlu
94d42ada7b
docs: initialize project
2026-02-27 10:20:03 -05:00
yonlu
572b7fb664
docs: map existing codebase
2026-02-26 16:58:25 -05:00
yonlu
d01f5e5d14
added "default playlist"/ favorites system
2026-02-25 22:53:57 -05:00
yonlu
51da5cfb07
no longer using forked beep
2026-02-25 21:16:29 -05:00
yonlu
4f3244c992
added mpris (linux media player controls) support
2026-02-25 20:51:29 -05:00
yonlu
d5010e6fa8
default user volume is 50 now
2026-02-25 19:32:44 -05:00
yonlu
012131283c
fixed startup ondomready call to use wails bindings and call when complete
2026-02-25 19:10:37 -05:00
yonlu
cf144bf0dd
refactored many events to use wails bindings, reducing boilerplate
2026-02-25 18:51:07 -05:00
yonlu
baa4644ece
extracted cover art handling from library package
2026-02-25 15:31:05 -05:00
yonlu
5689c1be42
added genre cache
2026-02-25 10:16:43 -05:00
yonlu
8f1ee25053
track list search results now sorted by relevance and highlighted
2026-02-25 01:09:54 -05:00
yonlu
e192d4625e
playlist phantom track matching added, updated search queries for efficiency
2026-02-24 21:23:25 -05:00
yonlu
ff7649600b
refactored full rescan to use hook/lifecycle pattern and added rescan package
2026-02-24 16:11:41 -05:00
yonlu
768a8cf1f2
replaced track info string map with a struct
2026-02-24 15:39:54 -05:00
yonlu
d764fefb10
fixed library scan using event listeners instead of store pattern
2026-02-24 15:04:35 -05:00
yonlu
1221a403cf
cover grid refactor
...
-split component into several files
2026-02-24 09:49:34 -05:00
yonlu
352fa9da61
split queue package into multiple files. other minor fixes
2026-02-24 08:34:28 -05:00
yonlu
d55cfb2411
added slide animation to grid views
2026-02-23 23:54:42 -05:00
yonlu
153cd0eae0
added refactoring catalog, fixed context menu freezing tracklist
2026-02-23 20:54:50 -05:00
yonlu
d925e3d659
added mutex to player to prevent simultaneous access
2026-02-23 20:06:41 -05:00
yonlu
16060023bb
audio file info added, fixed right click selecting.
2026-02-23 19:05:57 -05:00
yonlu
a6b476399e
hovering now-playing cover thumb shows full-res art
2026-02-23 15:53:30 -05:00
yonlu
967816ccd2
scroll restore on artists and genres pages
2026-02-23 13:08:44 -05:00
yonlu
3349e785d7
playing a new queue with shuffle enabled now starts at a random track.
2026-02-23 12:13:40 -05:00
yonlu
1dfbfd9595
added multi-select to artists and genres views
2026-02-23 11:46:44 -05:00
yonlu
588acf09ef
added genres page
2026-02-23 11:10:21 -05:00
yonlu
a08d59a4a0
context submenus now close when not hovering over
2026-02-23 10:47:32 -05:00
yonlu
90b7661483
added track-details page
2026-02-23 10:38:27 -05:00
yonlu
d89dee44e3
single track drag-and-drop ghost
2026-02-23 09:42:11 -05:00
yonlu
bd9652b378
faster fetching for artist albums
2026-02-22 20:42:32 -05:00
yonlu
ab5f690c05
search results pill added to artist grid
2026-02-22 20:30:28 -05:00
yonlu
3c06277820
added context menu to artist grid
2026-02-22 19:52:46 -05:00
yonlu
9dabfb81c5
beginnings of artist grid and artist details view
2026-02-22 19:17:27 -05:00
yonlu
30bbdd7c53
added basic sorting in track-list and cover-grid
2026-02-22 17:16:01 -05:00
yonlu
8a2ceb9107
improved column resize logic
2026-02-22 14:53:35 -05:00
yonlu
d3b04a9c29
added visual indicator of search results
2026-02-22 14:13:35 -05:00
yonlu
9cb1c6674a
changed genre scanning to parse multiple genres, updated db to accommodate.
2026-02-22 13:59:28 -05:00
yonlu
3947c2d6aa
fixed drag-and-drop visual styling
2026-02-22 11:44:51 -05:00
yonlu
b5e70a8ce6
user can configure visible columns in track-list
2026-02-22 11:24:19 -05:00
yonlu
9d84a11543
drag and drop enhancements, fixed playlist creation using old db entries, added icons-only sidebar when small width
2026-02-21 14:16:37 -05:00
yonlu
8ad952e750
Merge branch 'wip' of github.com:LJ-Software/yellowjacket into wip
2026-02-21 11:06:11 -05:00
yonlu
4d9ab5d2b8
cleaned up album selection behavior, context menu now closes when clicking outside of it
2026-02-21 11:02:54 -05:00
yonlu
402789e763
search bar
2026-02-20 17:38:29 -05:00
yonlu
089af5e299
fixed common track scanning bugs with custom workarounds
2026-02-20 17:14:03 -05:00
yonlu
84f027aedf
small ui changes
2026-02-20 15:22:49 -05:00
yonlu
88c3736110
added color/ theme settings, new config window
2026-02-20 14:43:35 -05:00
yonlu
fa6506ed5d
selecting an album while having a dropdown open no longer scrolls to the top of the grid.
2026-02-20 13:33:16 -05:00
yonlu
7bc85af5f4
fixed cover-grid selection and queuing behavior, added "clear queue" button
2026-02-20 13:16:13 -05:00
yonlu
560ab3a3b5
playlists now save to files, can be restored from files
2026-02-19 23:10:20 -05:00
yonlu
56cf92a44c
fixed drag and drop behavior
2026-02-19 22:37:19 -05:00
yonlu
193f65bd98
basic drag-and-drop, fixed end of scan behavior
2026-02-19 15:25:49 -05:00
yonlu
d9ebd38382
configurable scan parallelism based on hdd or sdd
2026-02-19 13:59:02 -05:00
yonlu
81793975b4
improved library scan speeds, added library manager component
...
-libraries tab now opens a library manager
-choose library directory, manually soft scan and rescan
-batched db queues
-mp3 header-based duration extraction
2026-02-19 10:17:09 -05:00
yonlu
8c013d4179
fixed edge cases in selected album scrollTo logic
2026-02-19 08:19:00 -05:00
yonlu
c9e78c491c
cover-grid album dropdown behavior fixes
2026-02-18 11:34:10 -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
be6f4e9764
virtualization in queue list, queue db queries optimized for large queue requests
2026-02-17 19:54:24 -05:00
yonlu
1a1ac7d9a1
re-added virtualizer to cover grid, dropdown uses phantom-row method, minor user friendly resizing/focusing tweaks
2026-02-17 14:36:14 -05:00
yonlu
7f72df98ed
pre-fetching main view data on startup, batched rendering for cover-grid
2026-02-17 12:47:35 -05:00
yonlu
50718fd633
added db query optimizations to playlists view, added caching
2026-02-17 11:39:17 -05:00
yonlu
93679761af
fixed some colors and a small rendering bug in track-list
2026-02-17 11:02:26 -05:00
yonlu
cfeb01728c
removed queue panel slide-in animation and fixed resize flickering
2026-02-17 10:32:05 -05:00
yonlu
f8391ddd3d
fixed broken click selection in track-list component
2026-02-16 23:02:58 -05:00
yonlu
481beca00a
frontend changes
...
-smaller thumbnails
-GPU acceleration
-lazy loading/ rendering only visible elements
-cover grid shows album tracks on click
2026-02-16 22:42:13 -05:00
yonlu
176b32fb0d
frontend fixes
...
album artist gets populated with artist as fallback (frontend also uses
this as display name fallback for albums). added scroll position
persistence when switching main views. also added frontend cache for
faster switching.
2026-02-16 14:38:09 -05:00
yonlu
8311208dcb
double click album to play
2026-02-16 09:55:18 -05:00
yonlu
c9bc151a7d
resizable now-playing, text highlighting disabled across the app
2026-02-16 09:42:23 -05:00
yonlu
322013f40f
added multi-select to cover grid, added shift select to track list
2026-02-16 04:15:01 -05:00
yonlu
6fbe16a84b
window size saved to config, smaller font in track-list
2026-02-16 03:48:53 -05:00
yonlu
f97e8c4840
fixed some state persistence issues. player state now saves on changes. next track button doesn't autoplay when paused.
2026-02-16 03:22:13 -05:00
yonlu
419fec1672
fixed repeatOne/ same track twice in a row issues
2026-02-16 02:45:51 -05:00
yonlu
95e1b32e86
view tracks in playlist view and play playlists
2026-02-16 02:18:45 -05:00
yonlu
2a40be5f52
multi-select on track-list
2026-02-16 01:20:36 -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