From fe2b2dfc26e2e2ac1ebf322f9838ed907fe1b27d Mon Sep 17 00:00:00 2001 From: Ansuman Satapathy Date: Tue, 29 Apr 2025 21:03:43 +0530 Subject: [PATCH] feat: [CDE-755]: Fix gitness UI redirection is broken, and logs are not loading (#3625) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: fixed gitness breaking changes Screenshot 2025-04-29 at 7 49 56 PM (cherry picked from commit cd395e8406a441412ede18e04f0ce6088c13ff37) Co-authored-by: Deepesh Kumar --- .../pages/GitspaceDetails/GitspaceDetails.tsx | 99 +++++++++++++------ 1 file changed, 70 insertions(+), 29 deletions(-) diff --git a/web/src/cde-gitness/pages/GitspaceDetails/GitspaceDetails.tsx b/web/src/cde-gitness/pages/GitspaceDetails/GitspaceDetails.tsx index bd0e66f25..968b0a7b3 100644 --- a/web/src/cde-gitness/pages/GitspaceDetails/GitspaceDetails.tsx +++ b/web/src/cde-gitness/pages/GitspaceDetails/GitspaceDetails.tsx @@ -54,9 +54,12 @@ import { useGitspaceDetails } from 'cde-gitness/hooks/useGitspaceDetails' import { useGitspaceEvents } from 'cde-gitness/hooks/useGitspaceEvents' import { useGitspaceActions } from 'cde-gitness/hooks/useGitspaceActions' import { useDeleteGitspaces } from 'cde-gitness/hooks/useDeleteGitspaces' +import { useGitspacesLogs } from 'cde-gitness/hooks/useGitspaceLogs' import { useOpenVSCodeBrowserURL } from 'cde-gitness/hooks/useOpenVSCodeBrowserURL' import { ErrorCard } from 'cde-gitness/components/ErrorCard/ErrorCard' import CopyButton from 'cde-gitness/components/CopyButton/CopyButton' +import ContainerLogs from '../../components/ContainerLogs/ContainerLogs' +import { useGetLogStream } from '../../hooks/useGetLogStream' import Logger from './Logger/Logger' import css from './GitspaceDetails.module.scss' @@ -82,6 +85,13 @@ const GitspaceDetails = () => { const { data: eventData, refetch: refetchEventData } = useGitspaceEvents({ gitspaceId }) + const { + refetch: refetchLogsData, + response, + error: streamLogsError, + loading: logsLoading + } = useGitspacesLogs({ gitspaceId }) + const { mutate: actionMutate, loading: mutateLoading } = useGitspaceActions({ gitspaceId }) const { mutate: deleteGitspace, loading: deleteLoading } = useDeleteGitspaces({ gitspaceId }) @@ -105,14 +115,27 @@ const GitspaceDetails = () => { (item.event === 'agent_gitspace_creation_start' || item.event === 'agent_gitspace_deletion_start') && defaultTo(item?.timestamp, 0) >= defaultTo(data?.instance?.updated, 0) ) - if (disabledActionButtons && filteredEvent?.length && !isStreamingLogs) { - setIsStreamingLogs(true) - viewLogs() - } else if (filteredEvent?.length && !disabledActionButtons && isStreamingLogs) { - setIsStreamingLogs(false) - viewLogs() + const refetchLogs = disabledActionButtons && filteredEvent?.length && !isStreamingLogs + if (standalone) { + if (refetchLogs) { + refetchLogsData() + setIsStreamingLogs(true) + } else if ( + (filteredEvent?.length && !disabledActionButtons && isStreamingLogs) || + (isStreamingLogs && streamLogsError) + ) { + setIsStreamingLogs(false) + } + } else { + if (refetchLogs) { + setIsStreamingLogs(true) + viewLogs() + } else if (filteredEvent?.length && !disabledActionButtons && isStreamingLogs) { + setIsStreamingLogs(false) + viewLogs() + } } - }, [eventData, data?.instance?.updated, disabledActionButtons]) + }, [eventData, data?.instance?.updated, disabledActionButtons, streamLogsError]) usePolling( async () => { @@ -173,6 +196,8 @@ const GitspaceDetails = () => { }) } + const formattedlogsdata = useGetLogStream({ response }) + const [accountIdentifier, orgIdentifier, projectIdentifier] = data?.space_path?.split('/') || [] const { refetchToken, setSelectedRowUrl } = useOpenVSCodeBrowserURL() @@ -181,6 +206,16 @@ const GitspaceDetails = () => { const myRef = useRef(null) const selectedIde = getIDEOption(data?.ide, getString) + useEffect(() => { + if (standalone) { + if (formattedlogsdata.data) { + accordionRef.current?.open('logsCard') + } else { + accordionRef.current?.close('logsCard') + } + } + }, [standalone, formattedlogsdata.data]) + const triggerGitspace = async () => { try { setStartPolling(GitspaceActionType.START) @@ -197,7 +232,9 @@ const GitspaceDetails = () => { const viewLogs = () => { myRef.current?.scrollIntoView() accordionRef.current?.open('logsCard') - setExpandedTab('logsCard') + if (!standalone) { + setExpandedTab('logsCard') + } } const handleClick = () => { @@ -447,7 +484,7 @@ const GitspaceDetails = () => { summary={ @@ -458,26 +495,30 @@ const GitspaceDetails = () => { } id={logCardId} details={ - - -