@@ -24,24 +24,32 @@ const Checks = ({ cl }: { cl: number }) => {
2424 useEffect ( ( ) => {
2525 if ( ! tasks || tasks . length === 0 ) return
2626
27- const allBuildIds = tasks . flatMap ( ( task ) => task . build_list . map ( ( build ) => build . id ) )
27+ const builds = tasks . flatMap ( ( task ) =>
28+ ( task . build_list ?? [ ] ) . map ( ( build ) => ( {
29+ build_id : build . id ,
30+ task_id : build . task_id ?? task . task_id ,
31+ repo : build . repo
32+ } ) )
33+ )
34+
35+ const validBuilds = builds . filter ( ( b ) => Boolean ( b . build_id && b . task_id && b . repo ) )
2836
29- if ( allBuildIds . length === 0 ) return
37+ if ( validBuilds . length === 0 ) return
3038
31- allBuildIds . forEach ( ( id ) => {
32- setEventSource ( id )
33- setLogStatus ( ( prev ) => ( { ...prev , [ id ] : 'loading' } ) )
39+ validBuilds . forEach ( ( b ) => {
40+ setEventSource ( b . build_id )
41+ setLogStatus ( ( prev ) => ( { ...prev , [ b . build_id ] : 'loading' } ) )
3442 } )
3543
3644 const fetchLogs = async ( ) => {
3745 const logsResult = await Promise . allSettled (
38- allBuildIds . map ( async ( id ) => {
46+ validBuilds . map ( async ( { build_id , task_id , repo } ) => {
3947 try {
40- const res = await fetchHTTPLog ( { id , type : 'full' } )
48+ const res = await fetchHTTPLog ( { task_id , build_id , repo } )
4149
42- return { id, res, error : null }
50+ return { id : build_id , res, error : null }
4351 } catch ( error ) {
44- return { id, res : null , error }
52+ return { id : build_id , res : null , error }
4553 }
4654 } )
4755 )
@@ -78,7 +86,7 @@ const Checks = ({ cl }: { cl: number }) => {
7886 }
7987 } else {
8088 // Promise.allSettled rejected (shouldn't happen with try-catch, but defensive)
81- const id = allBuildIds [ logsResult . indexOf ( item ) ]
89+ const id = validBuilds [ logsResult . indexOf ( item ) ] ?. build_id
8290
8391 if ( id ) {
8492 newLogStatus [ id ] = 'error'
@@ -93,8 +101,8 @@ const Checks = ({ cl }: { cl: number }) => {
93101
94102 fetchLogs ( )
95103
96- if ( ! buildid && allBuildIds . length > 0 ) {
97- setBuildId ( allBuildIds [ 0 ] )
104+ if ( ! buildid && validBuilds . length > 0 ) {
105+ setBuildId ( validBuilds [ 0 ] . build_id )
98106 }
99107
100108 return ( ) => {
0 commit comments