@@ -6,9 +6,11 @@ import {
66 EventListView ,
77 hydrateResourceIO ,
88 hydrateResourceIOWithKey ,
9+ NewTraceViewer ,
10+ type SidebarDataContextValue ,
11+ SidebarDataProvider ,
912 StreamViewer ,
1013 stepEventsToStepEntity ,
11- WorkflowTraceViewer ,
1214} from '@workflow/web-shared' ;
1315import type { Event , WorkflowRun } from '@workflow/world' ;
1416import {
@@ -18,7 +20,6 @@ import {
1820 List ,
1921 Loader2 ,
2022 Lock ,
21- Unlock ,
2223} from 'lucide-react' ;
2324import { useCallback , useMemo , useRef , useState } from 'react' ;
2425import { Link , useNavigate , useSearchParams } from 'react-router' ;
@@ -42,20 +43,17 @@ import {
4243 BreadcrumbPage ,
4344 BreadcrumbSeparator ,
4445} from '~/components/ui/breadcrumb' ;
45- import { Button } from '~/components/ui/button' ;
4646import { Tabs , TabsContent , TabsList , TabsTrigger } from '~/components/ui/tabs' ;
4747import {
4848 Tooltip ,
4949 TooltipContent ,
5050 TooltipTrigger ,
5151} from '~/components/ui/tooltip' ;
52+ import { useEventsListData } from '~/lib/client/hooks/use-events-list-data' ;
5253import { mapRunToExecution } from '~/lib/flow-graph/graph-execution-mapper' ;
5354import { useWorkflowGraphManifest } from '~/lib/flow-graph/use-workflow-graph' ;
5455import { useStreamReader } from '~/lib/hooks/use-stream-reader' ;
55-
5656import { fetchEvent , getEncryptionKeyForRun } from '~/lib/rpc-client' ;
57-
58- import { useEventsListData } from '~/lib/client/hooks/use-events-list-data' ;
5957import type { EnvMap } from '~/lib/types' ;
6058import {
6159 cancelRun ,
@@ -338,9 +336,6 @@ export function RunDetailView({
338336 loading,
339337 error,
340338 update,
341- loadMoreTraceData,
342- hasMoreTraceData,
343- isLoadingMoreTraceData,
344339 } = useWorkflowTraceViewerData ( env , runId , { live : true } ) ;
345340
346341 const run = runData ?? ( { } as WorkflowRun ) ;
@@ -418,6 +413,39 @@ export function RunDetailView({
418413 setSpanSelection ( info ) ;
419414 } , [ ] ) ;
420415
416+ const sidebarData = useMemo < SidebarDataContextValue > (
417+ ( ) => ( {
418+ run,
419+ events : allEvents ?? [ ] ,
420+ spanDetailData : spanDetailData ?? null ,
421+ spanDetailError,
422+ spanDetailLoading,
423+ onSpanSelect : handleSpanSelect ,
424+ onStreamClick : handleStreamClick ,
425+ onWakeUpSleep : handleWakeUpSleep ,
426+ onLoadEventData : handleLoadSidebarEventData ,
427+ onResolveHook : handleResolveHook ,
428+ encryptionKey : encryptionKey ?? undefined ,
429+ onDecrypt : handleDecrypt ,
430+ isDecrypting,
431+ } ) ,
432+ [
433+ run ,
434+ allEvents ,
435+ spanDetailData ,
436+ spanDetailError ,
437+ spanDetailLoading ,
438+ handleSpanSelect ,
439+ handleStreamClick ,
440+ handleWakeUpSleep ,
441+ handleLoadSidebarEventData ,
442+ handleResolveHook ,
443+ encryptionKey ,
444+ handleDecrypt ,
445+ isDecrypting ,
446+ ]
447+ ) ;
448+
421449 // Fetch streams for this run
422450 const {
423451 streams,
@@ -741,26 +769,9 @@ export function RunDetailView({
741769 < TabsContent value = "trace" className = "mt-0 flex-1 min-h-0" >
742770 < ErrorBoundary title = "Failed to load trace viewer" >
743771 < div className = "h-full" >
744- < WorkflowTraceViewer
745- error = { error }
746- events = { allEvents }
747- run = { run }
748- isLoading = { loading }
749- spanDetailData = { spanDetailData }
750- spanDetailLoading = { spanDetailLoading }
751- spanDetailError = { spanDetailError }
752- onSpanSelect = { handleSpanSelect }
753- onStreamClick = { handleStreamClick }
754- onWakeUpSleep = { handleWakeUpSleep }
755- onResolveHook = { handleResolveHook }
756- onLoadEventData = { handleLoadSidebarEventData }
757- onLoadMoreSpans = { loadMoreTraceData }
758- hasMoreSpans = { hasMoreTraceData }
759- isLoadingMoreSpans = { isLoadingMoreTraceData }
760- encryptionKey = { encryptionKey ?? undefined }
761- onDecrypt = { handleDecrypt }
762- isDecrypting = { isDecrypting }
763- />
772+ < SidebarDataProvider value = { sidebarData } >
773+ < NewTraceViewer run = { run } events = { allEvents ?? [ ] } />
774+ </ SidebarDataProvider >
764775 </ div >
765776 </ ErrorBoundary >
766777 </ TabsContent >
0 commit comments