MCPcopy Create free account
hub / github.com/contextgo/contextgo / initApplicationBridge

Function initApplicationBridge

src/process/bridge/applicationBridge.ts:22–108  ·  view source on GitHub ↗
(workerTaskManager: IWorkerTaskManager)

Source from the content-addressed store, hash-verified

20}
21
22export function initApplicationBridge(workerTaskManager: IWorkerTaskManager): void {
23 // Platform-agnostic handlers: systemInfo, updateSystemInfo, getPath
24 initApplicationBridgeCore();
25
26 ipcBridge.application.restart.provider(() => {
27 // 清理所有工作进程
28 workerTaskManager.clear();
29 // 重启应用 - 使用标准的 Electron 重启方式
30 app.relaunch();
31 app.exit(0);
32 return Promise.resolve();
33 });
34
35 ipcBridge.application.isDevToolsOpened.provider(() => {
36 if (mainWindowRef && !mainWindowRef.isDestroyed()) {
37 return Promise.resolve(mainWindowRef.webContents.isDevToolsOpened());
38 }
39 return Promise.resolve(false);
40 });
41
42 ipcBridge.application.reportRendererError.provider(({ type, message, stack, href, timestamp }) => {
43 mainError('[RendererCrash]', `${type}: ${message}`, {
44 href,
45 timestamp,
46 stack,
47 });
48 return Promise.resolve();
49 });
50
51 ipcBridge.application.openDevTools.provider(() => {
52 if (mainWindowRef && !mainWindowRef.isDestroyed()) {
53 const win = mainWindowRef;
54 const wasOpen = win.webContents.isDevToolsOpened();
55
56 if (wasOpen) {
57 win.webContents.closeDevTools();
58 return Promise.resolve(false);
59 } else {
60 return new Promise((resolve) => {
61 const onOpened = () => {
62 win.webContents.off('devtools-opened', onOpened);
63 resolve(true);
64 };
65
66 win.webContents.once('devtools-opened', onOpened);
67 win.webContents.openDevTools();
68
69 setTimeout(() => {
70 win.webContents.off('devtools-opened', onOpened);
71 if (win.isDestroyed()) {
72 resolve(false);
73 return;
74 }
75 resolve(win.webContents.isDevToolsOpened());
76 }, 500);
77 });
78 }
79 }

Callers 2

initAllBridgesFunction · 0.90

Calls 10

mainErrorFunction · 0.90
getZoomFactorFunction · 0.90
setZoomFactorFunction · 0.90
getCdpStatusFunction · 0.90
updateCdpConfigFunction · 0.90
offMethod · 0.80
clearMethod · 0.65
resolveMethod · 0.45
onceMethod · 0.45

Tested by

no test coverage detected