From 5fec9f3079237685cf4591b2941fb6ee4da058ba Mon Sep 17 00:00:00 2001 From: broody Date: Wed, 18 Mar 2026 09:00:11 -1000 Subject: [PATCH] fix: use latest controller version in standalone --- packages/keychain/src/hooks/version.ts | 28 ++++++++++++++++---------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/packages/keychain/src/hooks/version.ts b/packages/keychain/src/hooks/version.ts index 38a4d43741..768b1e1db6 100644 --- a/packages/keychain/src/hooks/version.ts +++ b/packages/keychain/src/hooks/version.ts @@ -1,5 +1,5 @@ import { PACKAGE_VERSION } from "@/version"; -import { useCallback, useEffect, useState } from "react"; +import { useCallback, useEffect, useMemo, useState } from "react"; import eq from "semver/functions/eq"; import gt from "semver/functions/gt"; import gte from "semver/functions/gte"; @@ -12,6 +12,12 @@ export const useVersion = () => { const { controllerVersion } = useConnection(); + // In standalone mode (no controller version provided), assume latest + const effectiveVersion = useMemo( + () => controllerVersion ?? PACKAGE_VERSION, + [controllerVersion], + ); + useEffect(() => { if (controllerVersion) { setReady(true); @@ -20,37 +26,37 @@ export const useVersion = () => { const isControllerGt = useCallback( (version: string) => { - return gt(controllerVersion!, version); + return gt(effectiveVersion, version); }, - [controllerVersion], + [effectiveVersion], ); const isControllerGte = useCallback( (version: string) => { - return gte(controllerVersion!, version); + return gte(effectiveVersion, version); }, - [controllerVersion], + [effectiveVersion], ); const isControllerLt = useCallback( (version: string) => { - return lt(controllerVersion!, version); + return lt(effectiveVersion, version); }, - [controllerVersion], + [effectiveVersion], ); const isControllerLte = useCallback( (version: string) => { - return lte(controllerVersion!, version); + return lte(effectiveVersion, version); }, - [controllerVersion], + [effectiveVersion], ); const isControllerEq = useCallback( (version: string) => { - return eq(controllerVersion!, version); + return eq(effectiveVersion, version); }, - [controllerVersion], + [effectiveVersion], ); return {