mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-08 00:21:23 +00:00
perf(test): reduce hot-suite import and setup overhead
This commit is contained in:
9
src/browser/pw-ai-state.ts
Normal file
9
src/browser/pw-ai-state.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
let pwAiLoaded = false;
|
||||
|
||||
export function markPwAiLoaded(): void {
|
||||
pwAiLoaded = true;
|
||||
}
|
||||
|
||||
export function isPwAiLoaded(): boolean {
|
||||
return pwAiLoaded;
|
||||
}
|
||||
@@ -1,3 +1,7 @@
|
||||
import { markPwAiLoaded } from "./pw-ai-state.js";
|
||||
|
||||
markPwAiLoaded();
|
||||
|
||||
export {
|
||||
type BrowserConsoleMessage,
|
||||
closePageByTargetIdViaPlaywright,
|
||||
|
||||
@@ -7,6 +7,7 @@ import { safeEqualSecret } from "../security/secret-equal.js";
|
||||
import { resolveBrowserConfig, resolveProfile } from "./config.js";
|
||||
import { ensureBrowserControlAuth, resolveBrowserControlAuth } from "./control-auth.js";
|
||||
import { ensureChromeExtensionRelayServer } from "./extension-relay.js";
|
||||
import { isPwAiLoaded } from "./pw-ai-state.js";
|
||||
import { registerBrowserRoutes } from "./routes/index.js";
|
||||
import { type BrowserServerState, createBrowserRouteContext } from "./server-context.js";
|
||||
|
||||
@@ -196,11 +197,13 @@ export async function stopBrowserControlServer(): Promise<void> {
|
||||
}
|
||||
state = null;
|
||||
|
||||
// Optional: Playwright is not always available (e.g. embedded gateway builds).
|
||||
try {
|
||||
const mod = await import("./pw-ai.js");
|
||||
await mod.closePlaywrightBrowserConnection();
|
||||
} catch {
|
||||
// ignore
|
||||
// Optional: avoid importing heavy Playwright bridge when this process never used it.
|
||||
if (isPwAiLoaded()) {
|
||||
try {
|
||||
const mod = await import("./pw-ai.js");
|
||||
await mod.closePlaywrightBrowserConnection();
|
||||
} catch {
|
||||
// ignore
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user