diff --git a/webview-ui/src/utils/path-mentions.ts b/webview-ui/src/utils/path-mentions.ts index 3021fe5069..1afa76156a 100644 --- a/webview-ui/src/utils/path-mentions.ts +++ b/webview-ui/src/utils/path-mentions.ts @@ -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, "/") : ""