diff --git a/js/terminal-ext.js b/js/terminal-ext.js index 48f33351..b3a2cc84 100644 --- a/js/terminal-ext.js +++ b/js/terminal-ext.js @@ -169,8 +169,6 @@ extend = (term) => { term.init = (user = "guest", preserveHistory = false) => { fitAddon.fit(); - preloadASCIIArt(); - preloadFiles(); term.reset(); term.printLogoType(); term.stylePrint( @@ -190,6 +188,12 @@ extend = (term) => { term.history = []; } term.focus(); + + // Defer heavy operations to run after terminal becomes interactive + setTimeout(() => { + preloadASCIIArt(); + preloadFiles(); + }, 100); }; term.runDeepLink = () => { diff --git a/js/terminal.js b/js/terminal.js index 66f3ba85..46b742e5 100644 --- a/js/terminal.js +++ b/js/terminal.js @@ -4,12 +4,14 @@ function runRootTerminal(term) { } term.init(); - term._initialized = true; term.locked = false; window.onload = (_) => { term.prompt(); term.runDeepLink(); + + // Only set initialized flag after prompt is displayed + term._initialized = true; window.addEventListener("resize", term.resizeListener);