From bc62e1a0ad736788959a27cd7011eeded7e072aa Mon Sep 17 00:00:00 2001 From: Chris Wanstrath <2+defunkt@users.noreply.github.com> Date: Thu, 2 Oct 2025 14:45:21 -0700 Subject: [PATCH] update build.js --- public/bundle.js | 41 +++++++++++++++++++++++++++++++++++++---- 1 file changed, 37 insertions(+), 4 deletions(-) diff --git a/public/bundle.js b/public/bundle.js index 61c3d86..36dd52f 100644 --- a/public/bundle.js +++ b/public/bundle.js @@ -1,5 +1,5 @@ //// -// version: d95d2ec +// version: 66c75ff // src/js/dom.ts var content2 = $("content"); @@ -168,6 +168,37 @@ function handleOutput(msg) { // src/js/session.ts var sessionId = randomId(); +var projectName = $("project-name"); +var projectCwd = $("project-cwd"); +var sessionStore = new Map; +function handleSessionStart(msg) { + sessionStore.set("NOSE_DIR", msg.data.NOSE_DIR); + updateProjectName(msg.data.project); + updateCwd(msg.data.cwd); + browserCommands.mode?.(msg.data.mode); +} +function handleSessionUpdate(msg) { + const data = msg.data; + if (data.project) + updateProjectName(data.project); + if (data.cwd) + updateCwd(data.cwd); +} +function updateProjectName(project) { + sessionStore.set("project", project); + projectName.textContent = project; + updateCwd("/"); +} +function updateCwd(cwd) { + cwd = displayProjectPath(cwd); + sessionStore.set("cwd", cwd); + projectCwd.textContent = cwd; +} +function displayProjectPath(path) { + let prefix = sessionStore.get("NOSE_DIR") || ""; + prefix += "/" + sessionStore.get("project"); + return path.replace(prefix, "") || "/"; +} // src/js/stream.ts function handleStreamStart(msg) { @@ -534,8 +565,11 @@ async function dispatchMessage(msg) { case "game:start": await handleGameStart(msg); break; - case "ui:mode": - browserCommands.mode?.(msg.data); + case "session:start": + handleSessionStart(msg); + break; + case "session:update": + handleSessionUpdate(msg); break; default: console.error("unknown message type", msg); @@ -617,7 +651,6 @@ function cacheCommands(cmds) { commands.push(...cmds); commands.push(...Object.keys(browserCommands)); commands.sort(); - console.log("CMDS", commands); } // src/js/completion.ts