fix: show branch follower drilldown gates

This commit is contained in:
Codex
2026-07-03 18:42:13 +00:00
parent 9c61bf7315
commit 668d8317a3
3 changed files with 186 additions and 22 deletions
@@ -97,6 +97,94 @@ function compactStateText(text) {
timings: compactTimings(state.timings),
warnings: arrayStrings(state.warnings).slice(0, 6),
stateFormat: stringOrNull(state.stateFormat),
command: compactCommand(state.command),
};
}
function compactCommand(command) {
const value = recordOrNull(command);
if (value === null) return null;
return {
mode: stringOrNull(value.mode) ?? stringOrNull(value.status),
namespace: stringOrNull(value.namespace),
pipelineRun: stringOrNull(value.pipelineRun),
sourceCommit: stringOrNull(value.sourceCommit),
sourceStageRef: stringOrNull(value.sourceStageRef),
wait: value.wait === true ? true : null,
pipelineRunCompleted: value.pipelineRunCompleted === true ? true : null,
stillRunning: value.stillRunning === true ? true : null,
closeout: compactCloseout(value.closeout),
payload: compactNativePayload(value.payload),
exitCode: numberOrNull(value.exitCode),
timedOut: value.timedOut === true,
statusAuthority: stringOrNull(value.statusAuthority),
parsedDownstreamCliOutput: false,
};
}
function compactCloseout(closeout) {
const value = recordOrNull(closeout);
if (value === null) return null;
return {
ok: value.ok === true,
completed: value.completed === true,
timedOut: value.timedOut === true,
polls: numberOrNull(value.polls),
elapsedMs: numberOrNull(value.elapsedMs),
summary: compactNativePayload(value.summary),
statusAuthority: stringOrNull(value.statusAuthority),
parsedDownstreamCliOutput: false,
};
}
function compactNativePayload(payload) {
const value = recordOrNull(payload);
if (value === null) return null;
return {
source: recordOrNull(value.source),
sourceSync: recordOrNull(value.sourceSync),
gitMirror: recordOrNull(value.gitMirror),
tekton: recordOrNull(value.tekton),
taskRuns: compactTaskRuns(value.taskRuns),
planArtifacts: compactPlanArtifacts(value.planArtifacts),
argo: recordOrNull(value.argo),
runtime: recordOrNull(value.runtime),
errors: arrayStrings(value.errors).slice(0, 5),
statusAuthority: stringOrNull(value.statusAuthority),
parsedDownstreamCliOutput: false,
};
}
function compactTaskRuns(taskRuns) {
const value = recordOrNull(taskRuns);
if (value === null) return null;
return {
ok: value.ok === true,
count: numberOrNull(value.count),
succeededCount: numberOrNull(value.succeededCount),
failedCount: numberOrNull(value.failedCount),
activeCount: numberOrNull(value.activeCount),
performance: recordOrNull(value.performance),
items: arrayRecords(value.items).slice(0, 16),
};
}
function compactPlanArtifacts(planArtifacts) {
const value = recordOrNull(planArtifacts);
if (value === null) return null;
return {
ok: value.ok === true,
pipelineRun: stringOrNull(value.pipelineRun),
eventFound: value.eventFound === true,
degradedReason: stringOrNull(value.degradedReason),
sourceCommitId: stringOrNull(value.sourceCommitId),
affectedServices: arrayStrings(value.affectedServices).slice(0, 40),
rolloutServices: arrayStrings(value.rolloutServices).slice(0, 40),
buildServices: arrayStrings(value.buildServices).slice(0, 40),
reusedServices: arrayStrings(value.reusedServices).slice(0, 40),
buildSkippedCount: numberOrNull(value.buildSkippedCount),
summary: stringOrNull(value.summary),
disclosure: stringOrNull(value.disclosure),
};
}