diff --git a/frontend/app/modals/about.tsx b/frontend/app/modals/about.tsx index 08c0e2210e..d3a43d386d 100644 --- a/frontend/app/modals/about.tsx +++ b/frontend/app/modals/about.tsx @@ -3,13 +3,14 @@ import Logo from "@/app/asset/logo.svg"; import { OnboardingGradientBg } from "@/app/onboarding/onboarding-common"; +import { atoms } from "@/app/store/global"; import { modalsModel } from "@/app/store/modalmodel"; import { RpcApi } from "@/app/store/wshclientapi"; import { TabRpcClient } from "@/app/store/wshrpcutil"; import { isDev } from "@/util/isdev"; import { fireAndForget } from "@/util/util"; -import { useEffect, useState } from "react"; -import { getApi } from "../store/global"; +import { useAtomValue } from "jotai"; +import { useEffect } from "react"; import { Modal } from "./modal"; interface AboutModalVProps { @@ -84,9 +85,9 @@ const AboutModalV = ({ versionString, updaterChannel, onClose }: AboutModalVProp AboutModalV.displayName = "AboutModalV"; const AboutModal = () => { - const [details] = useState(() => getApi().getAboutModalDetails()); - const [updaterChannel] = useState(() => getApi().getUpdaterChannel()); - const versionString = `${details.version} (${isDev() ? "dev-" : ""}${details.buildTime})`; + const fullConfig = useAtomValue(atoms.fullConfigAtom); + const versionString = `${fullConfig?.version ?? ""} (${isDev() ? "dev-" : ""}${fullConfig?.buildtime ?? ""})`; + const updaterChannel = fullConfig?.settings?.["autoupdate:channel"] ?? "latest"; useEffect(() => { fireAndForget(async () => { diff --git a/frontend/types/gotypes.d.ts b/frontend/types/gotypes.d.ts index 5c61e4199e..402757e121 100644 --- a/frontend/types/gotypes.d.ts +++ b/frontend/types/gotypes.d.ts @@ -1020,6 +1020,8 @@ declare global { bookmarks: {[key: string]: WebBookmark}; waveai: {[key: string]: AIModeConfigType}; configerrors: ConfigError[]; + version: string; + buildtime: string; }; // waveobj.Job diff --git a/pkg/wconfig/settingsconfig.go b/pkg/wconfig/settingsconfig.go index 2a1927630f..8de3832bcf 100644 --- a/pkg/wconfig/settingsconfig.go +++ b/pkg/wconfig/settingsconfig.go @@ -376,6 +376,8 @@ type FullConfigType struct { Bookmarks map[string]WebBookmark `json:"bookmarks"` WaveAIModes map[string]AIModeConfigType `json:"waveai"` ConfigErrors []ConfigError `json:"configerrors" configfile:"-"` + Version string `json:"version" configfile:"-"` + BuildTime string `json:"buildtime" configfile:"-"` } type ConnKeywords struct { @@ -696,6 +698,8 @@ func ReadFullConfig() FullConfigType { utilfn.ReUnmarshal(fieldPtr, configPart) } } + fullConfig.Version = wavebase.WaveVersion + fullConfig.BuildTime = wavebase.BuildTime return fullConfig }