@@ -497,9 +497,12 @@ class JobsRenderer {
497
497
// Ignore error jobs as they get done messages.
498
498
if ( ! info . statsElements . jobInfo . classList . contains ( "job-info-fatal" ) &&
499
499
! info . statsElements . jobInfo . classList . contains ( "job-info-aborted" ) &&
500
+ ! info . statsElements . jobInfo . classList . contains ( "job-info-failed" ) &&
500
501
/ ^ * [ 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 ) ) {
501
502
info . statsElements . jobInfo . classList . add ( "job-info-done" ) ;
502
503
this . jobs . markFinished ( ident ) ;
504
+ } else if ( / ^ * 0 b y t e s \. $ / . test ( line ) ) {
505
+ info . statsElements . jobInfo . classList . add ( "job-info-failed" ) ;
503
506
} else if (
504
507
/ ^ 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 (
505
508
line ,
@@ -520,6 +523,7 @@ class JobsRenderer {
520
523
} else if ( / ^ R e c e i v e d i t e m / . test ( line ) ) {
521
524
// Clear other statuses if a job restarts with the same job ID
522
525
info . statsElements . jobInfo . classList . remove ( "job-info-done" ) ;
526
+ info . statsElements . jobInfo . classList . remove ( "job-info-failed" ) ;
523
527
info . statsElements . jobInfo . classList . remove ( "job-info-fatal" ) ;
524
528
info . statsElements . jobInfo . classList . remove ( "job-info-aborted" ) ;
525
529
this . jobs . markUnfinished ( ident ) ;
@@ -1045,6 +1049,7 @@ class Dashboard {
1045
1049
const showAllHeaders = args . showAllHeaders ? Boolean ( Number ( args . showAllHeaders ) ) : true ;
1046
1050
const showRunningJobs = args . showRunningJobs ? Boolean ( Number ( args . showRunningJobs ) ) : true ;
1047
1051
const showFinishedJobs = args . showFinishedJobs ? Boolean ( Number ( args . showFinishedJobs ) ) : true ;
1052
+ const showFailedJobs = args . showFailedJobs ? Boolean ( Number ( args . showFailedJobs ) ) : true ;
1048
1053
const showFatalJobs = args . showFatalJobs ? Boolean ( Number ( args . showFatalJobs ) ) : true ;
1049
1054
const showAbortedJobs = args . showAbortedJobs ? Boolean ( Number ( args . showAbortedJobs ) ) : true ;
1050
1055
const loadRecent = args . loadRecent ? Boolean ( Number ( args . loadRecent ) ) : true ;
@@ -1117,6 +1122,7 @@ class Dashboard {
1117
1122
1118
1123
this . showRunningJobs ( showRunningJobs ) ;
1119
1124
this . showFinishedJobs ( showFinishedJobs ) ;
1125
+ this . showFailedJobs ( showFailedJobs ) ;
1120
1126
this . showFatalJobs ( showFatalJobs ) ;
1121
1127
this . showAbortedJobs ( showAbortedJobs ) ;
1122
1128
@@ -1250,6 +1256,8 @@ ${String(kbPerSec).padStart(3, "0")} KB/s`;
1250
1256
ds . showRunningJobs ( ! byId ( "show-running-jobs" ) . checked ) ;
1251
1257
} else if ( ev . which === 100 /* d */ ) {
1252
1258
ds . showFinishedJobs ( ! byId ( "show-finished-jobs" ) . checked ) ;
1259
+ } else if ( ev . which === 98 /* b */ ) {
1260
+ ds . showFailedJobs ( ! byId ( "show-failed-jobs" ) . checked ) ;
1253
1261
} else if ( ev . which === 99 /* c */ ) {
1254
1262
ds . showFatalJobs ( ! byId ( "show-fatal-jobs" ) . checked ) ;
1255
1263
} else if ( ev . which === 115 /* s */ ) {
@@ -1324,6 +1332,11 @@ ${String(kbPerSec).padStart(3, "0")} KB/s`;
1324
1332
byId ( 'hide-done' ) . sheet . disabled = value ;
1325
1333
}
1326
1334
1335
+ showFailedJobs ( value ) {
1336
+ byId ( 'show-failed-jobs' ) . checked = value ;
1337
+ byId ( 'hide-failed' ) . sheet . disabled = value ;
1338
+ }
1339
+
1327
1340
showFatalJobs ( value ) {
1328
1341
byId ( 'show-fatal-jobs' ) . checked = value ;
1329
1342
byId ( 'hide-fatal' ) . sheet . disabled = value ;
0 commit comments