fix: harden app lock system unlock flow

This commit is contained in:
Zheng Liu committed 2026-06-24 14:42:49 +08:00
1 parent f6a49dbf0a
commit 0ea707f70f
14 files changed
+114 -26

No files matched your search

+4 -1
View File
@@ -72,7 +72,10 @@ function beforePackCursorSdk(context = {}) {
ensureCursor({ projectDir, platform });
const buildHelper = context.buildWindowsHelloHelper || buildWindowsHelloHelper;
if (platform === "win32") {
buildHelper(projectDir);
const result = buildHelper({ projectDir, platform });
if (result?.skipped) {
throw new Error(`Windows Hello helper was not built: ${result.reason || "unknown"}`);
}
}
}
+14 -2
View File
@@ -72,7 +72,7 @@ test("beforePackCursorSdk builds Windows Hello helper only for Windows packages"
buildWindowsHelloHelper: (projectDir) => calls.push(projectDir),
});
assert.deepEqual(calls, [process.cwd()]);
assert.deepEqual(calls, [{ projectDir: process.cwd(), platform: "win32" }]);
beforePackCursorSdk({
appDir: process.cwd(),
@@ -81,5 +81,17 @@ test("beforePackCursorSdk builds Windows Hello helper only for Windows packages"
buildWindowsHelloHelper: (projectDir) => calls.push(projectDir),
});
assert.deepEqual(calls, [process.cwd()]);
assert.deepEqual(calls, [{ projectDir: process.cwd(), platform: "win32" }]);
});
test("beforePackCursorSdk fails Windows packaging when Windows Hello helper build is skipped", () => {
assert.throws(
() => beforePackCursorSdk({
appDir: process.cwd(),
electronPlatformName: "win32",
ensureCursorSdkPlatformPackages: () => [],
buildWindowsHelloHelper: () => ({ skipped: true, reason: "compiler-unavailable" }),
}),
/Windows Hello helper was not built: compiler-unavailable/,
);
});