From 67c055a6c90b5a9bb6f665e61096a73aaa191e67 Mon Sep 17 00:00:00 2001 From: Oleg Vavilov Date: Tue, 5 Aug 2025 20:39:23 +0300 Subject: [PATCH] [Feature]: If GCP logging or AWS Cloudwatch logging is configured, show link in the UI to the log stream #2926 --- frontend/src/pages/Runs/Details/Logs/index.tsx | 6 ++++++ frontend/src/types/log.d.ts | 1 + 2 files changed, 7 insertions(+) diff --git a/frontend/src/pages/Runs/Details/Logs/index.tsx b/frontend/src/pages/Runs/Details/Logs/index.tsx index f2e81d7b8f..eae90c7804 100644 --- a/frontend/src/pages/Runs/Details/Logs/index.tsx +++ b/frontend/src/pages/Runs/Details/Logs/index.tsx @@ -23,6 +23,7 @@ export const Logs: React.FC = ({ className, projectName, runName, jobSub const scrollPositionByBottom = useRef(0); const [logsData, setLogsData] = useState([]); + const [externalLink, setExternalLink] = useState(); const [isLoading, setIsLoading] = useState(false); const [getProjectLogs] = useLazyGetProjectLogsQuery(); const [isEnabledDecoding, setIsEnabledDecoding] = useLocalStorageState('enable-encode-logs', false); @@ -84,6 +85,7 @@ export const Logs: React.FC = ({ className, projectName, runName, jobSub setLogsData((old) => [...reversed, ...old]); } else { setLogsData(reversed); + setExternalLink(response.external_url); } nextTokenRef.current = response.next_token; @@ -154,6 +156,10 @@ export const Logs: React.FC = ({ className, projectName, runName, jobSub
{t('projects.run.log')}
+ {externalLink && ( +