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

Function reinitWave

frontend/wave.ts:98–123  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

96}
97
98async function reinitWave() {
99 console.log("Reinit Wave");
100 getApi().sendLog("Reinit Wave");
101
102 // We use this hack to prevent a flicker of the previously-hovered tab when this view was last active.
103 document.body.classList.add("nohover");
104 requestAnimationFrame(() =>
105 setTimeout(() => {
106 document.body.classList.remove("nohover");
107 }, 100)
108 );
109
110 await WOS.reloadWaveObject<Client>(WOS.makeORef("client", savedInitOpts.clientId));
111 const waveWindow = await WOS.reloadWaveObject<WaveWindow>(WOS.makeORef("window", savedInitOpts.windowId));
112 const ws = await WOS.reloadWaveObject<Workspace>(WOS.makeORef("workspace", waveWindow.workspaceid));
113 const initialTab = await WOS.reloadWaveObject<Tab>(WOS.makeORef("tab", savedInitOpts.tabId));
114 await WOS.reloadWaveObject<LayoutState>(WOS.makeORef("layout", initialTab.layoutstate));
115 reloadAllWorkspaceTabs(ws);
116 document.title = `Wave Terminal - ${initialTab.name}`; // TODO update with tab name change
117 getApi().setWindowInitStatus("wave-ready");
118 globalStore.set(atoms.reinitVersion, globalStore.get(atoms.reinitVersion) + 1);
119 globalStore.set(atoms.updaterStatusAtom, getApi().getUpdaterStatus());
120 setTimeout(() => {
121 globalRefocus();
122 }, 50);
123}
124
125function reloadAllWorkspaceTabs(ws: Workspace) {
126 if (ws == null || !ws.tabids?.length) {

Callers 1

initWaveWrapFunction · 0.85

Calls 5

getApiFunction · 0.90
globalRefocusFunction · 0.90
reloadAllWorkspaceTabsFunction · 0.85
setMethod · 0.80
getMethod · 0.80

Tested by

no test coverage detected