From 6268db182e5b0c0ca671e9ebea2e90d882a6f220 Mon Sep 17 00:00:00 2001 From: Manuel <30572287+manuel-rw@users.noreply.github.com> Date: Wed, 31 Jan 2024 07:51:38 +0100 Subject: [PATCH] fix: #1805 remove server prefetching docker (#1860) --- src/pages/board/[slug].tsx | 25 ++++++------------------- src/pages/board/index.tsx | 29 +++++++---------------------- 2 files changed, 13 insertions(+), 41 deletions(-) diff --git a/src/pages/board/[slug].tsx b/src/pages/board/[slug].tsx index 529e2901e..c6cf462e2 100644 --- a/src/pages/board/[slug].tsx +++ b/src/pages/board/[slug].tsx @@ -11,19 +11,14 @@ import { getServerSideTranslations } from '~/tools/server/getServerSideTranslati import { checkForSessionOrAskForLogin } from '~/tools/server/loginBuilder'; import { boardNamespaces } from '~/tools/server/translation-namespaces'; import { api } from '~/utils/api'; +import { env } from 'process'; +import fs from 'fs'; export default function BoardPage({ config: initialConfig, - isDockerEnabled, - initialContainers, + isDockerEnabled: isDockerEnabled }: InferGetServerSidePropsType) { useInitConfig(initialConfig); - const { data } = api.docker.containers.useQuery(undefined, { - initialData: initialContainers ?? undefined, - enabled: isDockerEnabled, - cacheTime: 60 * 1000 * 5, - staleTime: 60 * 1000 * 1, - }); return ( @@ -69,15 +64,8 @@ export const getServerSideProps = async (context: GetServerSidePropsContext) => if (result) { return result; } - const caller = dockerRouter.createCaller({ - session: session, - cookies: context.req.cookies, - }); - let containers = undefined; - // Fetch containers if user is admin, otherwise we don't need them - try { - if (session?.user.isAdmin == true) containers = await caller.containers(); - } catch (error) {} + + const isDockerEnabled: boolean = !!env.DOCKER_HOST || !!env.DOCKER_PORT || fs.existsSync('/var/run/docker'); return { props: { @@ -85,8 +73,7 @@ export const getServerSideProps = async (context: GetServerSidePropsContext) => primaryColor: config.settings.customization.colors.primary, secondaryColor: config.settings.customization.colors.secondary, primaryShade: config.settings.customization.colors.shade, - isDockerEnabled: containers != undefined, - initialContainers: containers ?? null, + isDockerEnabled: isDockerEnabled, ...translations, }, }; diff --git a/src/pages/board/index.tsx b/src/pages/board/index.tsx index 0fb684398..f403a72bf 100644 --- a/src/pages/board/index.tsx +++ b/src/pages/board/index.tsx @@ -2,7 +2,6 @@ import { GetServerSidePropsContext, InferGetServerSidePropsType } from 'next'; import { Dashboard } from '~/components/Dashboard/Dashboard'; import { BoardLayout } from '~/components/layout/Templates/BoardLayout'; import { useInitConfig } from '~/config/init'; -import { dockerRouter } from '~/server/api/routers/docker/router'; import { getServerAuthSession } from '~/server/auth'; import { getDefaultBoardAsync } from '~/server/db/queries/userSettings'; import { getFrontendConfig } from '~/tools/config/getFrontendConfig'; @@ -10,19 +9,14 @@ import { getServerSideTranslations } from '~/tools/server/getServerSideTranslati import { checkForSessionOrAskForLogin } from '~/tools/server/loginBuilder'; import { boardNamespaces } from '~/tools/server/translation-namespaces'; import { api } from '~/utils/api'; +import { env } from 'process'; +import fs from 'fs'; export default function BoardPage({ config: initialConfig, - isDockerEnabled, - initialContainers, + isDockerEnabled: isDockerEnabled, }: InferGetServerSidePropsType) { useInitConfig(initialConfig); - const { data } = api.docker.containers.useQuery(undefined, { - initialData: initialContainers ?? undefined, - enabled: isDockerEnabled, - cacheTime: 60 * 1000 * 5, - staleTime: 60 * 1000 * 1, - }); return ( @@ -51,25 +45,16 @@ export const getServerSideProps = async (context: GetServerSidePropsContext) => if (result) { return result; } - const caller = dockerRouter.createCaller({ - session: session, - cookies: context.req.cookies, - }); - let containers = undefined; - // Fetch containers if user is admin, otherwise we don't need them - try { - if (session?.user.isAdmin == true) containers = await caller.containers(); - } catch (error) { - - } + + const isDockerEnabled: boolean = !!env.DOCKER_HOST || !!env.DOCKER_PORT || fs.existsSync('/var/run/docker'); + return { props: { config, primaryColor: config.settings.customization.colors.primary, secondaryColor: config.settings.customization.colors.secondary, primaryShade: config.settings.customization.colors.shade, - isDockerEnabled: containers != undefined, - initialContainers: containers ?? null, + isDockerEnabled: isDockerEnabled, ...translations, }, };