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

Method loadInitialTerminalData

frontend/app/view/term/termwrap.ts:521–553  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

519 }
520
521 async loadInitialTerminalData(): Promise<void> {
522 const startTs = Date.now();
523 const zoneId = this.getZoneId();
524 const { data: cacheData, fileInfo: cacheFile } = await fetchWaveFile(zoneId, TermCacheFileName);
525 let ptyOffset = 0;
526 if (cacheFile != null) {
527 ptyOffset = cacheFile.meta["ptyoffset"] ?? 0;
528 if (cacheData.byteLength > 0) {
529 const curTermSize: TermSize = { rows: this.terminal.rows, cols: this.terminal.cols };
530 const fileTermSize: TermSize = cacheFile.meta["termsize"];
531 let didResize = false;
532 if (
533 fileTermSize != null &&
534 (fileTermSize.rows != curTermSize.rows || fileTermSize.cols != curTermSize.cols)
535 ) {
536 console.log("terminal restore size mismatch, temp resize", fileTermSize, curTermSize);
537 this.terminal.resize(fileTermSize.cols, fileTermSize.rows);
538 didResize = true;
539 }
540 this.doTerminalWrite(cacheData, ptyOffset);
541 if (didResize) {
542 this.terminal.resize(curTermSize.cols, curTermSize.rows);
543 }
544 }
545 }
546 const { data: mainData, fileInfo: mainFile } = await fetchWaveFile(zoneId, TermFileName, ptyOffset);
547 console.log(
548 `terminal loaded cachefile:${cacheData?.byteLength ?? 0} main:${mainData?.byteLength ?? 0} bytes, ${Date.now() - startTs}ms`
549 );
550 if (mainFile != null) {
551 await this.doTerminalWrite(mainData, null);
552 }
553 }
554
555 async resyncController(reason: string) {
556 dlog("resync controller", this.blockId, reason);

Callers 1

initTerminalMethod · 0.95

Calls 3

getZoneIdMethod · 0.95
doTerminalWriteMethod · 0.95
fetchWaveFileFunction · 0.90

Tested by

no test coverage detected