MCPcopy
hub / github.com/wavetermdev/waveterm / initializeTab

Method initializeTab

emain/emain-window.ts:405–432  ·  view source on GitHub ↗
(tabView: WaveTabView, primaryStartupTab: boolean)

Source from the content-addressed store, hash-verified

403 }
404
405 private async initializeTab(tabView: WaveTabView, primaryStartupTab: boolean) {
406 const clientId = await getClientId();
407 await this.awaitWithDevTimeout(tabView.initPromise, "initPromise", tabView.waveTabId);
408 const winBounds = this.getContentBounds();
409 tabView.setBounds({ x: 0, y: 0, width: winBounds.width, height: winBounds.height });
410 this.contentView.addChildView(tabView);
411 const initOpts: WaveInitOpts = {
412 tabId: tabView.waveTabId,
413 clientId: clientId,
414 windowId: this.waveWindowId,
415 activate: true,
416 };
417 if (primaryStartupTab) {
418 initOpts.primaryTabStartup = true;
419 }
420 tabView.savedInitOpts = { ...initOpts };
421 tabView.savedInitOpts.activate = false;
422 delete tabView.savedInitOpts.primaryTabStartup;
423 const startTime = Date.now();
424 console.log(
425 "before wave ready, init tab, sending wave-init",
426 tabView.waveTabId,
427 primaryStartupTab ? "(primary startup)" : ""
428 );
429 tabView.webContents.send("wave-init", initOpts);
430 await this.awaitWithDevTimeout(tabView.waveReadyPromise, "waveReadyPromise", tabView.waveTabId);
431 console.log("wave-ready init time", Date.now() - startTime + "ms");
432 }
433
434 private async awaitWithDevTimeout<T>(promise: Promise<T>, name: string, tabId: string): Promise<T> {
435 if (!isDev) {

Callers 1

setTabViewIntoWindowMethod · 0.95

Calls 2

awaitWithDevTimeoutMethod · 0.95
getClientIdFunction · 0.85

Tested by

no test coverage detected