From 2aa8bb05bb3ac815b6c27da636852ed173a3a3c8 Mon Sep 17 00:00:00 2001 From: geekgeekrun Date: Sun, 3 Nov 2024 16:43:22 +0800 Subject: [PATCH] add the exit logic of read no reply auto reminder --- .../ui/src/main/flow/OPEN_SETTING_WINDOW/ipc/index.ts | 7 +++++++ .../main/flow/READ_NO_REPLY_AUTO_REMINDER/bootstrap.ts | 9 +++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/ui/src/main/flow/OPEN_SETTING_WINDOW/ipc/index.ts b/packages/ui/src/main/flow/OPEN_SETTING_WINDOW/ipc/index.ts index 238c7db..6905047 100644 --- a/packages/ui/src/main/flow/OPEN_SETTING_WINDOW/ipc/index.ts +++ b/packages/ui/src/main/flow/OPEN_SETTING_WINDOW/ipc/index.ts @@ -275,6 +275,13 @@ export default function initIpc() { ipcMain.handle('stop-geek-auto-start-chat-with-boss', async () => { mainWindow?.webContents.send('geek-auto-start-chat-with-boss-stopping') subProcessOfPuppeteer?.kill() + setTimeout(() => { + try { + subProcessOfPuppeteer?.kill('SIGKILL') + } catch { + // + } + }, 1000) }) let subProcessOfBossZhipinLoginPageWithPreloadExtension: ChildProcess | null = null diff --git a/packages/ui/src/main/flow/READ_NO_REPLY_AUTO_REMINDER/bootstrap.ts b/packages/ui/src/main/flow/READ_NO_REPLY_AUTO_REMINDER/bootstrap.ts index 18b1e72..955d103 100644 --- a/packages/ui/src/main/flow/READ_NO_REPLY_AUTO_REMINDER/bootstrap.ts +++ b/packages/ui/src/main/flow/READ_NO_REPLY_AUTO_REMINDER/bootstrap.ts @@ -27,7 +27,7 @@ export async function bootstrap() { } export async function launchBoss(browser: Browser) { - const page = await browser.newPage() + const page = (await browser.pages())[0] //set cookies for (let i = 0; i < bossCookies.length; i++) { await page.setCookie(bossCookies[i]) @@ -35,6 +35,11 @@ export async function launchBoss(browser: Browser) { await setDomainLocalStorage(browser, localStoragePageUrl, bossLocalStorage) await Promise.all([page.goto(bossChatUiUrl, { timeout: 0 }), page.waitForNavigation()]) pageMapByName['boss'] = page - page.once('close', () => (pageMapByName['boss'] = null)) + page.once('close', () => { + pageMapByName['boss'] = null + const cp = browser.process() + cp?.kill() + process.exit(0) + }) return page }