Skip to content

Commit e78269b

Browse files
committed
feat: v0.4.0 - Remote SSH scanning, filters, search, and duplicate finder
New Features: - SSH remote scanning with key, password (sshpass), and agent authentication - Connection management stored securely with OS keychain integration - Quick filters by file size, type, and age - Real-time file search with keyboard navigation - Duplicate file finder using SHA-256 hashing - Export scan results to CSV - Keyboard shortcuts (Cmd+F search, Cmd+D duplicates, Cmd+E export) Technical Improvements: - Portable find command supporting both Linux and BSD/macOS remotes - Depth-limited remote scans (maxdepth 4) to prevent timeouts - Fixed tree building algorithm with depth-first sorting - Improved error handling and user feedback - Fixed React DOM nesting warnings
1 parent 5ec2f9b commit e78269b

37 files changed

Lines changed: 13802 additions & 2521 deletions

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src-tauri/Cargo.lock

Lines changed: 129 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src-tauri/Cargo.toml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "data-x"
3-
version = "0.3.0"
3+
version = "0.4.0"
44
description = "Fast, visual disk space analyzer"
55
authors = ["Cassel <c@cassel.us>"]
66
license = "MIT"
@@ -18,6 +18,7 @@ tauri-build = { version = "2", features = [] }
1818
tauri = { version = "2", features = [] }
1919
tauri-plugin-shell = "2"
2020
tauri-plugin-dialog = "2"
21+
tauri-plugin-fs = "2"
2122
serde = { version = "1", features = ["derive"] }
2223
serde_json = "1"
2324
tokio = { version = "1", features = ["full"] }
@@ -37,6 +38,15 @@ fs2 = "0.4"
3738
# Trash
3839
trash = "5"
3940

41+
# SSH connection management
42+
keyring = "3"
43+
uuid = { version = "1", features = ["v4"] }
44+
chrono = "0.4"
45+
dirs = "5"
46+
47+
# Duplicate detection
48+
sha2 = "0.10"
49+
4050
[target.'cfg(target_os = "macos")'.dependencies]
4151
cocoa = "0.26"
4252
objc = "0.2"

src-tauri/capabilities/default.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
"core:default",
88
"shell:allow-open",
99
"dialog:allow-open",
10-
"dialog:allow-save"
10+
"dialog:allow-save",
11+
"fs:allow-write-text-file"
1112
]
1213
}

src-tauri/gen/schemas/acl-manifests.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"default":{"identifier":"default","description":"Default capabilities for Data-X","local":true,"windows":["main"],"permissions":["core:default","shell:allow-open","dialog:allow-open","dialog:allow-save"]}}
1+
{"default":{"identifier":"default","description":"Default capabilities for Data-X","local":true,"windows":["main"],"permissions":["core:default","shell:allow-open","dialog:allow-open","dialog:allow-save","fs:allow-write-text-file"]}}

0 commit comments

Comments
 (0)