Fix: Correct path handling for dragged files on Windows (#2753)

This commit is contained in:
Felix NyxJae 2025-04-18 22:29:32 +08:00 committed by GitHub
parent b3065d2ab3
commit 6772306ade
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -13,7 +13,18 @@
*/
export function convertToMentionPath(path: string, cwd?: string): string {
// Strip file:// protocol if present
const pathWithoutProtocol = path.startsWith("file://") ? path.substring(7) : path
let pathWithoutProtocol = path.startsWith("file://") ? path.substring(7) : path
try {
pathWithoutProtocol = decodeURIComponent(pathWithoutProtocol)
// Fix: Remove leading slash for Windows paths like /d:/...
if (pathWithoutProtocol.startsWith("/") && pathWithoutProtocol[2] === ":") {
pathWithoutProtocol = pathWithoutProtocol.substring(1)
}
} catch (e) {
// Log error if decoding fails, but continue with the potentially problematic path
console.error("Error decoding URI component in convertToMentionPath:", e, pathWithoutProtocol)
}
const normalizedPath = pathWithoutProtocol.replace(/\\/g, "/")
let normalizedCwd = cwd ? cwd.replace(/\\/g, "/") : ""