From 92dedf51aa600ae8aac86400614fcceb6b8984c0 Mon Sep 17 00:00:00 2001 From: Aarnav Tale Date: Tue, 18 Mar 2025 00:43:52 -0400 Subject: [PATCH] fix: ignore ws_agents if there are no agents connected --- app/routes/machines/machine.tsx | 6 ++++-- app/routes/machines/overview.tsx | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/app/routes/machines/machine.tsx b/app/routes/machines/machine.tsx index e0b5fc4..16d536b 100644 --- a/app/routes/machines/machine.tsx +++ b/app/routes/machines/machine.tsx @@ -14,7 +14,7 @@ import cn from '~/utils/cn'; import { hs_getConfig } from '~/utils/config/loader'; import { pull } from '~/utils/headscale'; import { getSession } from '~/utils/sessions.server'; -import { hp_getSingleton } from '~server/context/global'; +import { hp_getSingleton, hp_getSingletonUnsafe } from '~server/context/global'; import { menuAction } from './action'; import MenuOptions from './components/menu'; import Routes from './dialogs/routes'; @@ -45,7 +45,9 @@ export async function loader({ request, params }: LoaderFunctionArgs) { routes: routes.routes.filter((route) => route.node.id === params.id), users: users.users, magic, - agent: [...hp_getSingleton('ws_agents').keys()].includes(machine.node.id), + agent: [...(hp_getSingletonUnsafe('ws_agents') ?? []).keys()].includes( + machine.node.id, + ), }; } diff --git a/app/routes/machines/overview.tsx b/app/routes/machines/overview.tsx index 50b1fba..db67a8b 100644 --- a/app/routes/machines/overview.tsx +++ b/app/routes/machines/overview.tsx @@ -13,7 +13,7 @@ import { getSession } from '~/utils/sessions.server'; import Tooltip from '~/components/Tooltip'; import { hs_getConfig } from '~/utils/config/loader'; import useAgent from '~/utils/useAgent'; -import { hp_getConfig, hp_getSingleton } from '~server/context/global'; +import { hp_getConfig, hp_getSingletonUnsafe } from '~server/context/global'; import { menuAction } from './action'; import MachineRow from './components/machine'; import NewMachine from './dialogs/new'; @@ -43,7 +43,7 @@ export async function loader({ request }: LoaderFunctionArgs) { magic, server: context.headscale.url, publicServer: context.headscale.public_url, - agents: [...hp_getSingleton('ws_agents').keys()], + agents: [...(hp_getSingletonUnsafe('ws_agents') ?? []).keys()], }; }