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
- "Connect to server..." pseudo-row in network browser with dialog for entering hostname, IP, IP:port, or smb:// URL
- Backend: address parsing, TCP reachability check (5s timeout), persistence to `manual-servers.json`, injection into `DISCOVERY_STATE` at startup
- `HostSource` enum (`Discovered` | `Manual`) on `NetworkHost` with backward-compatible `#[serde(default)]`
- Native context menu on hosts: Disconnect (unmounts via `diskutil`), Forget server, Forget saved password
- F8 to remove manual hosts with confirmation
- `autoMountShare` on `ShareBrowser`: typing `smb://server/share` auto-mounts the share
- MCP tools: `connect_to_server`, `remove_manual_server`
- MCP state encodes `source=manual|discovered` for each host
- Port now passed through `mountNetworkShare` so `register_smb_volume` uses the correct port for smb2 direct connections
- Atomic writes (temp + rename) for `manual-servers.json` and `known-shares.json`
- Fix panic on SMB volume mount: `tokio::spawn` → `tauri::async_runtime::spawn` in fsevents watcher thread (no Tokio runtime)
- 35 unit tests + 3 integration tests (behind `smb-e2e` feature)
- File operations (6): `copy`, `move`, `delete`, `mkdir`, `mkfile`, `refresh`. `copy`/`move` accept optional `autoConfirm` (bool) and `onConflict` (`skip_all`|`overwrite_all`|`rename_all`). `delete` accepts optional `autoConfirm`. When `autoConfirm` is true, the dialog opens and immediately confirms.
@@ -31,6 +31,7 @@ Expose Cmdr functionality to AI agents via the Model Context Protocol (MCP). Age
31
31
- App (3): `switch_pane`, `swap_panes`, `quit`
32
32
- Search (2): `search` (structured file search across the drive index, optional `scope` for path/exclude filtering), `ai_search` (natural language search using configured LLM, optional `scope` merged with AI-inferred scope)
33
33
- Settings (1): `set_setting` (change a setting value via round-trip to frontend)
34
+
- Network (2): `connect_to_server` (add a manual SMB server by address, checks TCP reachability), `remove_manual_server` (remove a manually-added server by host ID)
34
35
- Async (1): `await` (poll PaneStateStore until a condition is met — `has_item`, `item_count_gte`, `path`, or `path_contains`. Supports `after_generation` to avoid matching stale state)
0 commit comments