You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(critical): prevent data loss on cross-drive move with ignore list
When performing a MOVE across different drives with a non-empty ignore
list, shutil.rmtree(source_dir) permanently deleted ignored subfolders
that were never copied to the destination. Replaced blanket rmtree with
ignore-aware deletion that preserves ignored subtrees and their ancestor
directories in place.
Also normalized sort method casing (frontend sends lowercase values such
as 'location'/'people'; code expected title-case) to prevent silent
fallthrough to the default sort path.
Reported by user via email. Fixes v2.4.1.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+7Lines changed: 7 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,6 +13,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
13
13
- Added `/api/stats` endpoint to the FastAPI backend to supply summary metrics for internal diagnostics and MCP tool clients.
14
14
- FastAPI backend now exports its bound network port to `APP_DATA_DIR/port.txt` so local tool clients can connect without hardcoded ports.
15
15
16
+
## [2.4.1] - 2026-07-12
17
+
18
+
### Fixed
19
+
20
+
-**Critical Data Loss**: Fixed cross-drive MOVE permanently deleting ignored subfolders. When a MOVE was performed across different drives with a non-empty ignore list, ignored folders were correctly skipped during the copy but then destroyed by a blanket `shutil.rmtree()` when the source was removed — bypassing the Recycle Bin with no undo. The deletion is now ignore-aware and only removes what was actually copied.
21
+
- Fixed silent fallthrough bug where sort method names sent in lowercase by the frontend (e.g. `location`, `people`) did not match the expected title-case values, causing files to be sorted by the default method instead of the one selected.
0 commit comments