diff --git a/src/selfTest.ts b/src/selfTest.ts index afdd95d..7ad3b75 100644 --- a/src/selfTest.ts +++ b/src/selfTest.ts @@ -182,6 +182,18 @@ export async function runSelfTest(): Promise { "\\\\server\\share\\packages\\napcat-core\\login\\runtime.ts", ], }, + { + forkPatchFiles: [], + name: "Windows rooted path", + upstreamChangedFiles: [ + "\\packages\\napcat-core\\login\\runtime.ts", + ], + }, + { + forkPatchFiles: [], + name: "Windows drive-relative path", + upstreamChangedFiles: ["C:packages/napcat-core/login/runtime.ts"], + }, { forkPatchFiles: [], name: "parent segment path", diff --git a/src/tools/napcatAutomation.ts b/src/tools/napcatAutomation.ts index 2cf0be5..337ee25 100644 --- a/src/tools/napcatAutomation.ts +++ b/src/tools/napcatAutomation.ts @@ -83,9 +83,9 @@ const hotZoneMatchers: Array<{ pattern: string; regex: RegExp }> = [ function hasInvalidAuditPath(value: string): boolean { const trimmed = value.trim(); if (!trimmed) return false; - if (/^[a-zA-Z]:[\\/]/.test(trimmed)) return true; + if (/^[a-zA-Z]:/.test(trimmed)) return true; if (trimmed.startsWith('\\\\') || trimmed.startsWith('//')) return true; - if (trimmed.startsWith('/')) return true; + if (trimmed.startsWith('\\') || trimmed.startsWith('/')) return true; const normalized = trimmed .replace(/\\/g, '/')