Repository navigation
Conversation
Windows clients rejected every path an SSH host sent. The helper is Unix-only, so remote roots are /-rooted, but Path::is_absolute also wants a drive letter on Windows. Root discovery, the scan header and the picker now check remote paths with is_remote_absolute, which agrees with is_absolute on Unix. The volume picker test compared against the unresolved temporary path. Accepting a local root canonicalizes it, and the temporary directory is /var -> /private/var on macOS and an 8.3 short name on Windows runners. spawn_command and wait in remote.rs are only used by the Unix tests, so clippy -D warnings failed on Windows. Gate them on unix.
Path::has_root also accepts \x and C:\x on Windows, which name nothing on the Unix host the helper runs on. Check for a leading / instead.
serve also runs on Windows, and the round-trip tests there send native C:\ roots. Accept a path that is absolute on this platform or /-rooted; \x stays rejected.
The preview comes from the Unix helper's streaming walk. On Windows serve sends a finished tree with no preview, so the test's unwrap failed there. It was hidden on main because cargo test stops at the first failing test binary, which was the app's.
This was referenced Oct 29, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
main(9b18b27) fails CI on macOS and Windows; Linux passes. Three causes:Windows clients rejected every SSH path from a Unix host. Unix hosts send roots like
/home/someone, and on WindowsPath::is_absolutealso requires a drive letter, so the picker refused the chosen remote root (remote_root_acceptance_never_stats_the_path_locally). Root discovery and the scan header used the same check and would have rejected every Unix path too. The newremote::is_remote_absoluteaccepts a path that is absolute on this platform or starts with/, so a Windows host'sC:\...roots still pass (serveruns on Windows too). It is nothas_root, which on Windows also accepts\x, a path that is absolute nowhere. On Unix it gives the same result asis_absolute. Local roots in the picker still useis_absolute.The volume picker test compared against the unresolved temp path. Accepting a local root canonicalizes it, and the temp directory is behind
/var -> /private/varon macOS and an 8.3 short name on Windows runners. The test now expects the canonical path (enter_in_the_focused_volume_picker_scans_the_selected_root).Clippy failed on Windows. In
remote.rs,RemoteScan::spawn_commandand the test helperwaitare only called from Unix-only tests, so they were dead code on Windows under-D warnings. They are now gated onunix.Verified locally on macOS:
cargo xtask lintandcargo xtask testboth pass, andcargo clippy -p disktree-core --all-targets --target x86_64-pc-windows-msvc -- -D warningsis clean. The app crate can't be cross-checked for Windows from macOS, so CI covers the Windows test runs.