@@ -52,6 +52,7 @@ import {
5252} from "lib/types" ;
5353import {
5454 useGroupingPreference ,
55+ useHideAlwaysSkippedPreference ,
5556 useHideGreenColumnsPreference ,
5657 useHideNonViableStrictPreference ,
5758 useMonsterFailuresPreference ,
@@ -389,6 +390,8 @@ function FiltersAndSettings({}: {}) {
389390 useHideGreenColumnsPreference ( ) ;
390391 const [ hideNonViableStrict , setHideNonViableStrict ] =
391392 useHideNonViableStrictPreference ( ) ;
393+ const [ hideAlwaysSkipped , setHideAlwaysSkipped ] =
394+ useHideAlwaysSkippedPreference ( ) ;
392395 const [ useGrouping , setUseGrouping ] = useGroupingPreference (
393396 params . nameFilter
394397 ) ;
@@ -447,6 +450,13 @@ function FiltersAndSettings({}: {}) {
447450 key = "hideNonViableStrict"
448451 labelText = { "Hide non-viable-strict jobs" }
449452 /> ,
453+ < CheckBoxSelector
454+ value = { hideAlwaysSkipped }
455+ setValue = { ( value ) => setHideAlwaysSkipped ( value ) }
456+ checkBoxName = "hideAlwaysSkipped"
457+ key = "hideAlwaysSkipped"
458+ labelText = { "Hide always-skipped jobs" }
459+ /> ,
450460 < CheckBoxSelector
451461 value = { mergeEphemeralLF }
452462 setValue = { setMergeEphemeralLF }
@@ -742,13 +752,16 @@ function GroupedHudTable({ params }: { params: HudParams }) {
742752 const [ hideUnstable ] = usePreference ( "hideUnstable" ) ;
743753 const [ hideGreenColumns ] = useHideGreenColumnsPreference ( ) ;
744754 const [ hideNonViableStrict ] = useHideNonViableStrictPreference ( ) ;
755+ const [ hideAlwaysSkipped ] = useHideAlwaysSkippedPreference ( ) ;
745756 const [ useGrouping ] = useGroupingPreference ( params . nameFilter ) ;
746757
747758 const {
748759 shaGrid,
749760 groupNameMapping,
750761 jobsWithFailures,
751762 groupsWithFailures,
763+ jobsAlwaysSkipped,
764+ groupsAlwaysSkipped,
752765 jobsViableStrictBlocking,
753766 groupsViableStrictBlocking,
754767 } = getGroupingData (
@@ -832,6 +845,17 @@ function GroupedHudTable({ params }: { params: HudParams }) {
832845 }
833846 }
834847
848+ // If hiding always-skipped jobs, drop columns where every recorded run was skipped
849+ if ( hideAlwaysSkipped ) {
850+ if ( groupNameMapping . has ( name ) ) {
851+ if ( groupsAlwaysSkipped . has ( name ) ) {
852+ return false ;
853+ }
854+ } else if ( jobsAlwaysSkipped . has ( name ) ) {
855+ return false ;
856+ }
857+ }
858+
835859 // If hiding green columns, filter out names that don't have any failed jobs
836860 if ( hideGreenColumns ) {
837861 // For group names, check if any job in the group has failures
0 commit comments