Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@sxyazi
Copy link
Owner

@sxyazi sxyazi commented Dec 28, 2025

No description provided.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR implements stricter casefold matching to prevent ambiguous matches when multiple files have the same name in different cases. The main improvement ensures that when multiple case-insensitive matches exist, an error is returned rather than arbitrarily selecting one.

  • Enhances casefold matching logic to reject ambiguous case-insensitive matches
  • Adds support for handling paths that escape their base directory in URL joins
  • Includes various bug fixes and improvements to task scheduling and UI rendering

Reviewed changes

Copilot reviewed 11 out of 12 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
yazi-fs/src/provider/local/casefold.rs Refactors casefold implementation to strictly match only when there's a single case-insensitive match
yazi-vfs/src/provider/sftp/sftp.rs Adds stricter casefold matching for SFTP to reject multiple case-insensitive matches
yazi-shared/src/url/url.rs Handles paths that escape their base directory when joining URLs for Search and Archive types
yazi-shared/src/path/error.rs Adds error conversion from StartsWithError to JoinError
yazi-shared/src/event/cmd.rs Improves command display formatting by separating positional and named arguments
yazi-scheduler/src/scheduler.rs Fixes task completion logic to handle canceled tasks correctly
yazi-plugin/preset/components/progress.lua Adds clear before rendering gauge to prevent visual artifacts
yazi-config/src/mgr/mgr.rs Simplifies code by removing unnecessary UrlBuf conversion
yazi-config/preset/keymap-default.toml Changes toggle behavior from wrap-around to bounded movement
yazi-actor/src/mgr/reveal.rs Corrects comment wording from "on" to "over"
Cargo.toml Updates serde_json dependency from 1.0.147 to 1.0.148
Cargo.lock Updates various dependencies to newer versions

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

let mut names = vec![];
for entry in std::fs::read_dir(parent)? {
let entry = entry?;
if let m = entry.metadata()?
Copy link

Copilot AI Dec 28, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The let pattern is missing a binding name for the metadata variable. The expression if let m = entry.metadata()? should be if let Ok(m) = entry.metadata() to properly bind the metadata result.

Suggested change
if let m = entry.metadata()?
if let Ok(m) = entry.metadata()

Copilot uses AI. Check for mistakes.
@sxyazi sxyazi merged commit faf33e1 into main Dec 28, 2025
10 checks passed
@sxyazi sxyazi deleted the pr-897bfbef branch December 28, 2025 08:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants