From 80cb181daff628bbda0febb8c1fc7b8064b95845 Mon Sep 17 00:00:00 2001 From: Mike Sawka Date: Thu, 16 Apr 2026 16:23:28 -0700 Subject: [PATCH] add waveenv to builder app (#3225) --- frontend/app/waveenv/waveenvimpl.ts | 2 +- frontend/builder/builder-app.tsx | 11 ++++++++--- package-lock.json | 4 ++-- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/frontend/app/waveenv/waveenvimpl.ts b/frontend/app/waveenv/waveenvimpl.ts index 6abe00e57..b6d68db93 100644 --- a/frontend/app/waveenv/waveenvimpl.ts +++ b/frontend/app/waveenv/waveenvimpl.ts @@ -2,7 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 import { ContextMenuModel } from "@/app/store/contextmenu"; -import { AllServiceImpls } from "@/app/store/services"; import { atoms, createBlock, @@ -16,6 +15,7 @@ import { isDev, WOS, } from "@/app/store/global"; +import { AllServiceImpls } from "@/app/store/services"; import { RpcApi } from "@/app/store/wshclientapi"; import { WaveEnv } from "@/app/waveenv/waveenv"; import { isMacOS, isWindows, PLATFORM } from "@/util/platformutil"; diff --git a/frontend/builder/builder-app.tsx b/frontend/builder/builder-app.tsx index 5f78a6b9a..447a16f7c 100644 --- a/frontend/builder/builder-app.tsx +++ b/frontend/builder/builder-app.tsx @@ -1,8 +1,10 @@ -// Copyright 2025, Command Line Inc. +// Copyright 2026, Command Line Inc. // SPDX-License-Identifier: Apache-2.0 import { ModalsRenderer } from "@/app/modals/modalsrenderer"; import { globalStore } from "@/app/store/jotaiStore"; +import { WaveEnvContext } from "@/app/waveenv/waveenv"; +import { makeWaveEnvImpl } from "@/app/waveenv/waveenvimpl"; import { AppSelectionModal } from "@/builder/app-selection-modal"; import { BuilderWorkspace } from "@/builder/builder-workspace"; import { atoms, isDev } from "@/store/global"; @@ -10,7 +12,7 @@ import { appHandleKeyDown } from "@/store/keymodel"; import * as keyutil from "@/util/keyutil"; import { isBlank } from "@/util/util"; import { Provider, useAtomValue } from "jotai"; -import { useEffect } from "react"; +import { useEffect, useRef } from "react"; import { DndProvider } from "react-dnd"; import { HTML5Backend } from "react-dnd-html5-backend"; @@ -60,13 +62,16 @@ function BuilderAppInner() { } export function BuilderApp({ initOpts, onFirstRender }: BuilderAppProps) { + const waveEnvRef = useRef(makeWaveEnvImpl()); useEffect(() => { onFirstRender(); }, []); return ( - + + + ); } diff --git a/package-lock.json b/package-lock.json index 9e4a67a93..b219e6cc9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "waveterm", - "version": "0.14.5-beta.1", + "version": "0.14.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "waveterm", - "version": "0.14.5-beta.1", + "version": "0.14.5", "hasInstallScript": true, "license": "Apache-2.0", "workspaces": [