Wayfile 1.0.1
Maintenance release rolling up the security, performance, and stability work since 1.0.0. No visual changes — everything here is under the hood.
🔒 Security
- Reject zip-slip / absolute-path entries during archive extraction
- Guard archive-root navigation against
..path traversal - Validate clipboard MIME types and resolve
$TERMINALsafely - Cap archive compress/extract with a wall-clock timeout
⚡ Performance
- O(1) MIME classification and a prebuilt folder-type lookup
- Cache folder item counts across scrolls; O(1) per-row selection checks
- Coalesce selection-canvas repaints; clamp rubber-band scans to the viewport
- Move remote file properties, the trash listing, and undo off the GUI thread; batch Flatpak trashing
✨ New
- Hidden folders now appear under a dedicated Hidden root in the Places tree
🐛 Fixes
- Miller view highlights the current folder by path, not basename
- Archive extract-and-navigate no longer leaks or fires on unrelated operations
- Quick preview reports folder vs. file correctly on the first frame
- Left-pane (index 0) operations no longer misroute to the active pane in split view
- Guard transfer cancellation against a worker-thread race
🧹 Internal
- Extracted TransferController, SidebarCompactRail, DropParse, and a shared SelectionController; centralised model-role constants in a Roles singleton; retired the paneNavTick hack in favour of reactive properties
Full changelog: v1.0.0...v1.0.1