mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-17 14:27:02 +08:00
feat(nbstore): share worker between workspaces (#9947)
This commit is contained in:
@@ -269,12 +269,6 @@ export async function openUrlInHiddenWindow(urlObj: URL) {
|
||||
win.webContents.openDevTools();
|
||||
}
|
||||
|
||||
win.on('close', e => {
|
||||
e.preventDefault();
|
||||
if (win && !win.isDestroyed()) {
|
||||
win.destroy();
|
||||
}
|
||||
});
|
||||
logger.info('loading page at', url);
|
||||
win.loadURL(url).catch(e => {
|
||||
logger.error('failed to load url', e);
|
||||
|
||||
@@ -395,7 +395,9 @@ export class WebContentViewsManager {
|
||||
|
||||
if (this.mainWindow && view) {
|
||||
this.mainWindow.contentView.removeChildView(view);
|
||||
view?.webContents.close();
|
||||
view?.webContents.close({
|
||||
waitForBeforeUnload: true,
|
||||
});
|
||||
}
|
||||
}, 500); // delay a bit to get rid of the flicker
|
||||
};
|
||||
|
||||
@@ -43,13 +43,9 @@ export class WorkerManager {
|
||||
show: false,
|
||||
});
|
||||
let disconnectHelperProcess: (() => void) | null = null;
|
||||
worker.on('close', e => {
|
||||
e.preventDefault();
|
||||
if (worker && !worker.isDestroyed()) {
|
||||
worker.destroy();
|
||||
this.workers.delete(key);
|
||||
disconnectHelperProcess?.();
|
||||
}
|
||||
worker.on('closed', () => {
|
||||
this.workers.delete(key);
|
||||
disconnectHelperProcess?.();
|
||||
});
|
||||
worker.loadURL(backgroundWorkerViewUrl).catch(e => {
|
||||
logger.error('failed to load url', e);
|
||||
@@ -74,6 +70,7 @@ export class WorkerManager {
|
||||
this.disconnectWorker(key, portId);
|
||||
});
|
||||
const worker = await this.getOrCreateWorker(key);
|
||||
worker.ports.add(portId);
|
||||
const { port1: portForWorker, port2: portForRenderer } =
|
||||
new MessageChannelMain();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user