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
- Add `network.enabled` setting (top of `Settings > Network > SMB/Network shares`, default on). When off, the picker shows "Network (disabled)" and clicking it deep-links to the Settings section instead of navigating
- Defer mDNS browse and direct-smb2 mount upgrade until first user network action — fresh installs no longer trigger macOS's "Cmdr wants to find devices on local networks" prompt at app launch
- Hidden internal `network.firstTriggerDone` flag persists once we've fired the prompt, so returning users still get eager startup (no re-prompt regression)
- Lazy trigger fires from `NetworkBrowser` mount, `ConnectToServerDialog` open, and the picker's OS-mount → direct-SMB upgrade click. Single chokepoint in `lazy-trigger.ts`
- Add `NSLocalNetworkUsageDescription` to `Info.plist` so the system prompt has user-friendly copy
- Settings panel surfaces a "Local Network access" info card with a deep link to System Settings > Privacy & Security > Local Network
- Settings window gains an optional `section` deep-link (JSON-encoded URL param + cross-window event)
- Hidden settings flag (`hidden: true`) for internal-only state that needs the same persistence as user settings without showing in the UI
- Backend: new `ensure_network_discovery_started` and `set_network_enabled` Tauri commands. mDNS startup gate consolidated into a single `should_start_network_at_launch` boolean covering both daemon start and existing-mount upgrade
- E2E: new `network-toggle.spec.ts` covers the four toggle UX states end-to-end
- Project rule: don't bump `file-length-allowlist.json` as a side effect of unrelated changes
|`network.rs`| SMB/network shares | Discovery, share listing, keychain, mounting, direct-connection upgrade, in-place reconnect (`reconnect_smb_volume` — backend single-flighted via `Volume::attempt_reconnect`), per-volume disconnect (`disconnect_smb_volume` — macOS shells out to `diskutil unmount`, Linux drops the smb2 session). Upgrade business logic (address resolution, credential lookup, smb2 connection) lives in `network::smb_upgrade`; commands here are thin wrappers. |
16
+
|`network.rs`| SMB/network shares | Discovery, share listing, keychain, mounting, direct-connection upgrade, in-place reconnect (`reconnect_smb_volume` — backend single-flighted via `Volume::attempt_reconnect`), per-volume disconnect (`disconnect_smb_volume` — macOS shells out to `diskutil unmount`, Linux drops the smb2 session). Lazy-startup hooks: `ensure_network_discovery_started` (idempotent — kicks off mDNS + manual-server load + smb-mount upgrade on first user network action) and `set_network_enabled` (live-applies the `network.enabled` toggle: stops mDNS and clears discovered hosts when off). Upgrade business logic (address resolution, credential lookup, smb2 connection) lives in `network::smb_upgrade`; commands here are thin wrappers. |
17
17
|`font_metrics.rs`| Font metrics cache |`store_font_metrics`, `has_font_metrics`|
|`rename.rs`| Rename / trash |`move_to_trash` (delegates to `write_operations::trash::move_to_trash_sync`), `check_rename_permission`, `check_rename_validity`, `rename_file`. `rename_file` calls `notify_mutation` after success to update the listing cache (both local and volume-aware paths). |
Copy file name to clipboardExpand all lines: apps/desktop/src-tauri/src/settings/CLAUDE.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,6 +30,8 @@ Settings {
30
30
disk_space_change_threshold_mb:Option<u64>, // from "advanced.diskSpaceChangeThreshold"
31
31
max_log_storage_mb:Option<u64>, // from "advanced.maxLogStorageMb"
32
32
error_reports_enabled:Option<bool>, // from "updates.errorReports" (Flow B opt-in, default off)
33
+
network_enabled:Option<bool>, // from "network.enabled" (default on; off renders picker as "Network (disabled)")
34
+
network_first_trigger_done:Option<bool>, // from "network.firstTriggerDone" (hidden internal flag — true if we've ever triggered the macOS Local Network prompt)
0 commit comments