WABS - v1.1.0
Full Changelog: v1.0.1...v1.1.0
I am excited to release WABS v1.1.0! This release introduces nested virtual folders, physical and virtual directory actions, audio cover art extraction, export progress tracking, and critical performance and stability hotfixes for large archives.
🚀 Major New Features & Enhancements
📁 Hierarchical Virtual Folders & Export
- Indefinite Nesting: Create, rename, and organize virtual folders recursively into a parent-child tree navigation structure, complete with breadcrumbs navigation.
- Direct Disk Export: Export virtual folders and all nested contents recursively to external drives using a native OS-level folder picker (Windows/Linux).
- Progress Tracking & Control: Real-time progress bars and file copying states for exports, along with instant cancellation support in the Explorer and Virtual Folders views.
- Dynamic Queries & Hybrid Folders: Apply dynamic filter queries (e.g., tags or
person:Name) to virtual folders. The matches are automatically combined with manually linked files. - Folder Customization: Personalize your workspace with a curated palette of 10 modern colors and 11 descriptive icons per virtual folder.
- Recursive Operations: Extended move, copy, and delete endpoints to handle directories and virtual folder paths (
virtual_folder:{id}) recursively on disk and in the database.
🎵 Audio Metadata Extraction & Placeholders
- Cover Art Extraction: Automated extraction of embedded cover/album art from MP3 (ID3 APIC), MP4/M4A (covr), FLAC, OGG, and WMA/ASF audio formats.
- Cached Thumbnails: Cached cover art is scaled and saved to
.wabs_cache/audio/for fast preview rendering. - Indigo Fallbacks: Designed modern indigo-themed SVG placeholders for audio files without cover art to match the active UI theme.
⚙️ UI, Settings & Navigation Improvements
- Locate Dropdown: Upgraded the file locator action to select between locating files in the Folder Tree, Flat List, or within any of their containing Virtual Folders.
- Offset Pagination Cache: Integrated scroll and page-offset caching when locating files outside the first chunk of 50 files.
- Backup Nudges: Displays a notification nudge if settings are saved without any configured backup locations, pointing directly to the Backup settings tab.
- Layout Persistence: Width preferences for the sidebar, timeline, and details panel are now saved to
config.yamlto persist across restarts.
🐞 Bug Fixes & Refinements
- SQLite Variable Limit Resolution (Hotfix): Resolved the
sqlite3.OperationalError: too many SQL variablescrash when loading or searching folders matching tens of thousands of files by moving queries to temporary tables and chunking parameter lists in batches of 900. - Clean Export Progress UI (Hotfix): Redesigned the export progress bar panel and cancellation button to prevent crowding and text overlapping in the sidebar and folder cards.
- Graceful Export Shutdown (Hotfix): Updated the application's shutdown hook (
graceful_os_shutdown) to register the export background thread, allowing active operations to terminate and clean up before exit. - Root-Only Dashboard Count: Fixed the dashboard stats to only display root-level virtual folder counts.
- Tray Icon & Server Shutdown: Resolved Windows system tray hangs and uvicorn keep-alive socket leaks by introducing force-exit triggers.