@cloud411716/fancy-webnovel 0.1.94 → 0.1.96
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -180,8 +180,8 @@ async function runScanWithChromiumFix(ctx, session, invocation, { platform, leng
|
|
|
180
180
|
});
|
|
181
181
|
|
|
182
182
|
let sudoDialogPromise = null;
|
|
183
|
-
//
|
|
184
|
-
installProc.
|
|
183
|
+
// sudo 密码提示走 stdout,不是 stderr
|
|
184
|
+
installProc.stdout.on('data', async (d) => {
|
|
185
185
|
if (sudoDialogPromise) return;
|
|
186
186
|
const text = d.toString();
|
|
187
187
|
if (/password|密码|sudo/i.test(text)) {
|
|
@@ -199,9 +199,12 @@ async function runScanWithChromiumFix(ctx, session, invocation, { platform, leng
|
|
|
199
199
|
|
|
200
200
|
return new Promise((resolve) => {
|
|
201
201
|
installProc.on('close', async (code) => {
|
|
202
|
-
// 如果弹过 sudo
|
|
202
|
+
// 如果弹过 sudo 框,等弹框结果(最多等 3 分钟,防止卡死)
|
|
203
203
|
if (sudoDialogPromise) {
|
|
204
|
-
await
|
|
204
|
+
await Promise.race([
|
|
205
|
+
sudoDialogPromise.catch(() => {}),
|
|
206
|
+
new Promise(r => setTimeout(r, 180000)),
|
|
207
|
+
]);
|
|
205
208
|
}
|
|
206
209
|
stopCancel(); // 移除取消监听
|
|
207
210
|
installStop();
|