Merge branch 'feature/ui'

This commit is contained in:
geekgeekrun
2025-05-29 03:08:01 +08:00
3 changed files with 17 additions and 36 deletions
@@ -33,6 +33,13 @@ export const getLastUsedAndAvailableBrowser = async (): Promise<BrowserInfo | nu
await removeLastUsedAndAvailableBrowserPath() await removeLastUsedAndAvailableBrowserPath()
return null return null
} }
// blacklist browser
if (path.includes(`Microsoft\\Edge\\Application\\msedge.exe`)) {
await removeLastUsedAndAvailableBrowserPath()
return null
}
return { return {
executablePath: path, executablePath: path,
browser browser
@@ -8,12 +8,10 @@ import {
getLastUsedAndAvailableBrowser, getLastUsedAndAvailableBrowser,
removeLastUsedAndAvailableBrowserPath removeLastUsedAndAvailableBrowserPath
} from '../browser-history' } from '../browser-history'
import { getExecutableFileVersion } from '@geekgeekrun/utils/windows-only/file.mjs'
import gtag from '../../../../utils/gtag' import gtag from '../../../../utils/gtag'
const getPuppeteerManagerModule = async () => { const getPuppeteerManagerModule = async () => {
let puppeteerManager const puppeteerManager = await import('@puppeteer/browsers')
puppeteerManager = await import('@puppeteer/browsers')
return puppeteerManager return puppeteerManager
} }
@@ -76,7 +74,8 @@ export const checkAndDownloadPuppeteerExecutable = async (
browser: puppeteerManager.Browser.CHROME, browser: puppeteerManager.Browser.CHROME,
cacheDir, cacheDir,
buildId: EXPECT_CHROMIUM_BUILD_ID, buildId: EXPECT_CHROMIUM_BUILD_ID,
downloadProgressCallback: options.downloadProgressCallback downloadProgressCallback: options.downloadProgressCallback,
baseUrl: `https://registry.npmmirror.com/-/binary/chrome-for-testing`
}) })
} else { } else {
gtag('use_installed_browser') gtag('use_installed_browser')
@@ -128,33 +127,8 @@ export const getAnyAvailablePuppeteerExecutable = async (): Promise<BrowserInfo
export async function findAndLocateUserInstalledChromiumExecutableSync(): Promise<BrowserInfo> { export async function findAndLocateUserInstalledChromiumExecutableSync(): Promise<BrowserInfo> {
const exceptChromiumMainVersion = Number(EXPECT_CHROMIUM_BUILD_ID.split('.')[0]) const exceptChromiumMainVersion = Number(EXPECT_CHROMIUM_BUILD_ID.split('.')[0])
// For windows, try to find Edge(chromium) const findChrome: typeof import('find-chrome-bin').findChrome = (await import('find-chrome-bin'))
if (os.platform() === 'win32') { .findChrome
// TODO: handle windows
const edgeExecutableLocation = path.join(
process.env['ProgramFiles(x86)']!,
'Microsoft/Edge/Application',
'msedge.exe'
)
if (fs.existsSync(edgeExecutableLocation)) {
try {
const version = await getExecutableFileVersion(edgeExecutableLocation)
const mainVersion = Number(version.split('.')[0])
if (mainVersion >= exceptChromiumMainVersion) {
return {
executablePath: edgeExecutableLocation,
browser: `Edge ${version}`
}
}
} catch (err) {
console.log(err)
}
}
}
// For other, use findChrome
let findChrome: typeof import('find-chrome-bin').findChrome
findChrome = (await import('find-chrome-bin')).findChrome
const targetBrowser = await findChrome({ const targetBrowser = await findChrome({
min: exceptChromiumMainVersion min: exceptChromiumMainVersion
}) })
@@ -166,7 +166,7 @@ export default function initIpc() {
subProcessOfPuppeteer = childProcess.spawn( subProcessOfPuppeteer = childProcess.spawn(
process.argv[0], process.argv[0],
[ [
...process.argv.slice(1), process.argv[1],
`--mode=geekAutoStartWithBossDaemon`, `--mode=geekAutoStartWithBossDaemon`,
`--mode-to-daemon=geekAutoStartWithBossMain` `--mode-to-daemon=geekAutoStartWithBossMain`
], ],
@@ -222,7 +222,7 @@ export default function initIpc() {
} }
subProcessOfPuppeteer = childProcess.spawn( subProcessOfPuppeteer = childProcess.spawn(
process.argv[0], process.argv[0],
[...process.argv.slice(1), `--mode=readNoReplyAutoReminder`], [process.argv[1], `--mode=readNoReplyAutoReminder`],
{ {
env: subProcessEnv, env: subProcessEnv,
stdio: ['inherit', 'inherit', 'inherit', 'pipe', 'ipc'] stdio: ['inherit', 'inherit', 'inherit', 'pipe', 'ipc']
@@ -282,7 +282,7 @@ export default function initIpc() {
} }
subProcessOfCheckAndDownloadDependencies = childProcess.spawn( subProcessOfCheckAndDownloadDependencies = childProcess.spawn(
process.argv[0], process.argv[0],
[...process.argv.slice(1), `--mode="checkAndDownloadDependenciesForInit"`], [process.argv[1], `--mode=checkAndDownloadDependenciesForInit`],
{ {
stdio: [null, null, null, 'pipe', 'ipc'] stdio: [null, null, null, 'pipe', 'ipc']
} }
@@ -349,7 +349,7 @@ export default function initIpc() {
} }
subProcessOfBossZhipinLoginPageWithPreloadExtension = childProcess.spawn( subProcessOfBossZhipinLoginPageWithPreloadExtension = childProcess.spawn(
process.argv[0], process.argv[0],
[...process.argv.slice(1), `--mode=launchBossZhipinLoginPageWithPreloadExtension`], [process.argv[1], `--mode=launchBossZhipinLoginPageWithPreloadExtension`],
{ {
env: subProcessEnv, env: subProcessEnv,
stdio: [null, null, null, 'pipe', 'ipc'] stdio: [null, null, null, 'pipe', 'ipc']
@@ -429,7 +429,7 @@ export default function initIpc() {
} }
subProcessOfOpenBossSite = childProcess.spawn( subProcessOfOpenBossSite = childProcess.spawn(
process.argv[0], process.argv[0],
[...process.argv.slice(1), `--mode=launchBossSite`], [process.argv[1], `--mode=launchBossSite`],
{ {
env: subProcessEnv, env: subProcessEnv,
stdio: ['inherit', 'inherit', 'inherit', 'pipe'] stdio: ['inherit', 'inherit', 'inherit', 'pipe']