@@ -497,9 +497,12 @@ class JobsRenderer {
497497 // Ignore error jobs as they get done messages.
498498 if ( ! info . statsElements . jobInfo . classList . contains ( "job-info-fatal" ) &&
499499 ! info . statsElements . jobInfo . classList . contains ( "job-info-aborted" ) &&
500+ ! info . statsElements . jobInfo . classList . contains ( "job-info-failed" ) &&
500501 / ^ * [ 1 - 9 ] [ 0 - 9 ] * b y t e s \. $ | ^ S t a r t i n g ( R e l a b e l I f A b o r t e d | M a r k I t e m A s D o n e ) f o r I t e m $ | ^ F i n i s h e d ( W g e t D o w n l o a d | M o v e F i l e s | S t o p H e a r t b e a t ) f o r I t e m $ / . test ( line ) ) {
501502 info . statsElements . jobInfo . classList . add ( "job-info-done" ) ;
502503 this . jobs . markFinished ( ident ) ;
504+ } else if ( / ^ * 0 b y t e s \. $ / . test ( line ) ) {
505+ info . statsElements . jobInfo . classList . add ( "job-info-failed" ) ;
503506 } else if (
504507 / ^ C R I T I C A L ( S o r r y | P l e a s e r e p o r t ) | ^ E R R O R F a t a l e x c e p t i o n | N o s p a c e l e f t o n d e v i c e | ^ F a t a l P y t h o n e r r o r : | ^ ( T h r e a d | C u r r e n t t h r e a d ) 0 x / . test (
505508 line ,
@@ -520,6 +523,7 @@ class JobsRenderer {
520523 } else if ( / ^ R e c e i v e d i t e m / . test ( line ) ) {
521524 // Clear other statuses if a job restarts with the same job ID
522525 info . statsElements . jobInfo . classList . remove ( "job-info-done" ) ;
526+ info . statsElements . jobInfo . classList . remove ( "job-info-failed" ) ;
523527 info . statsElements . jobInfo . classList . remove ( "job-info-fatal" ) ;
524528 info . statsElements . jobInfo . classList . remove ( "job-info-aborted" ) ;
525529 this . jobs . markUnfinished ( ident ) ;
@@ -1045,6 +1049,7 @@ class Dashboard {
10451049 const showAllHeaders = args . showAllHeaders ? Boolean ( Number ( args . showAllHeaders ) ) : true ;
10461050 const showRunningJobs = args . showRunningJobs ? Boolean ( Number ( args . showRunningJobs ) ) : true ;
10471051 const showFinishedJobs = args . showFinishedJobs ? Boolean ( Number ( args . showFinishedJobs ) ) : true ;
1052+ const showFailedJobs = args . showFailedJobs ? Boolean ( Number ( args . showFailedJobs ) ) : true ;
10481053 const showFatalJobs = args . showFatalJobs ? Boolean ( Number ( args . showFatalJobs ) ) : true ;
10491054 const showAbortedJobs = args . showAbortedJobs ? Boolean ( Number ( args . showAbortedJobs ) ) : true ;
10501055 const loadRecent = args . loadRecent ? Boolean ( Number ( args . loadRecent ) ) : true ;
@@ -1117,6 +1122,7 @@ class Dashboard {
11171122
11181123 this . showRunningJobs ( showRunningJobs ) ;
11191124 this . showFinishedJobs ( showFinishedJobs ) ;
1125+ this . showFailedJobs ( showFailedJobs ) ;
11201126 this . showFatalJobs ( showFatalJobs ) ;
11211127 this . showAbortedJobs ( showAbortedJobs ) ;
11221128
@@ -1250,6 +1256,8 @@ ${String(kbPerSec).padStart(3, "0")} KB/s`;
12501256 ds . showRunningJobs ( ! byId ( "show-running-jobs" ) . checked ) ;
12511257 } else if ( ev . which === 100 /* d */ ) {
12521258 ds . showFinishedJobs ( ! byId ( "show-finished-jobs" ) . checked ) ;
1259+ } else if ( ev . which === 98 /* b */ ) {
1260+ ds . showFailedJobs ( ! byId ( "show-failed-jobs" ) . checked ) ;
12531261 } else if ( ev . which === 99 /* c */ ) {
12541262 ds . showFatalJobs ( ! byId ( "show-fatal-jobs" ) . checked ) ;
12551263 } else if ( ev . which === 115 /* s */ ) {
@@ -1324,6 +1332,11 @@ ${String(kbPerSec).padStart(3, "0")} KB/s`;
13241332 byId ( 'hide-done' ) . sheet . disabled = value ;
13251333 }
13261334
1335+ showFailedJobs ( value ) {
1336+ byId ( 'show-failed-jobs' ) . checked = value ;
1337+ byId ( 'hide-failed' ) . sheet . disabled = value ;
1338+ }
1339+
13271340 showFatalJobs ( value ) {
13281341 byId ( 'show-fatal-jobs' ) . checked = value ;
13291342 byId ( 'hide-fatal' ) . sheet . disabled = value ;
0 commit comments