fix(web): prioritize Runs incident focus chain
This commit is contained in:
@@ -4539,14 +4539,17 @@ export default function RunsPage() {
|
||||
).length,
|
||||
};
|
||||
}, [runs]);
|
||||
const normalizedIncidentFocus = useMemo(() => {
|
||||
const normalized = incidentFilter.trim().toUpperCase();
|
||||
return INCIDENT_ID_FILTER_RE.test(normalized) ? normalized : null;
|
||||
}, [incidentFilter]);
|
||||
const runIncidentIds = useMemo(() => {
|
||||
const normalizedIncidentFilter = incidentFilter.trim().toUpperCase();
|
||||
const ids = runs.flatMap((run) => linkedIncidentIds(run.remediation_summary));
|
||||
if (INCIDENT_ID_FILTER_RE.test(normalizedIncidentFilter)) {
|
||||
ids.unshift(normalizedIncidentFilter);
|
||||
if (normalizedIncidentFocus) {
|
||||
ids.unshift(normalizedIncidentFocus);
|
||||
}
|
||||
return Array.from(new Set(ids));
|
||||
}, [runs, incidentFilter]);
|
||||
}, [runs, normalizedIncidentFocus]);
|
||||
const {
|
||||
statusChains: runStatusChains,
|
||||
isLoading: runStatusChainsLoading,
|
||||
@@ -4556,13 +4559,25 @@ export default function RunsPage() {
|
||||
refreshKey: lastRefresh?.toISOString() ?? null,
|
||||
limit: PER_PAGE,
|
||||
});
|
||||
const normalizedIncidentFocus = useMemo(() => {
|
||||
const normalized = incidentFilter.trim().toUpperCase();
|
||||
return INCIDENT_ID_FILTER_RE.test(normalized) ? normalized : null;
|
||||
}, [incidentFilter]);
|
||||
const {
|
||||
statusChains: incidentFocusStatusChains,
|
||||
isLoading: incidentFocusStatusChainsLoading,
|
||||
} = useIncidentStatusChains({
|
||||
incidentIds: normalizedIncidentFocus ? [normalizedIncidentFocus] : [],
|
||||
projectId: projectFilter || "awoooi",
|
||||
refreshKey: lastRefresh?.toISOString() ?? null,
|
||||
limit: 1,
|
||||
concurrency: 1,
|
||||
timeoutMs: 8000,
|
||||
});
|
||||
const incidentFocusChain = normalizedIncidentFocus
|
||||
? runStatusChains[normalizedIncidentFocus]
|
||||
? incidentFocusStatusChains[normalizedIncidentFocus] ?? runStatusChains[normalizedIncidentFocus]
|
||||
: null;
|
||||
const incidentFocusLoading = Boolean(
|
||||
normalizedIncidentFocus
|
||||
&& !incidentFocusChain
|
||||
&& (incidentFocusStatusChainsLoading || runStatusChainsLoading)
|
||||
);
|
||||
|
||||
return (
|
||||
<div className="space-y-6">
|
||||
@@ -4714,7 +4729,7 @@ export default function RunsPage() {
|
||||
<span className="border border-[#d8d3c7] bg-white px-2 py-1 text-xs font-semibold text-[#5f5b52]">
|
||||
{incidentFocusChain
|
||||
? tIncidentFocus("states.ready")
|
||||
: runStatusChainsLoading
|
||||
: incidentFocusLoading
|
||||
? tIncidentFocus("states.loading")
|
||||
: tIncidentFocus("states.missing")}
|
||||
</span>
|
||||
@@ -4733,7 +4748,7 @@ export default function RunsPage() {
|
||||
</div>
|
||||
) : (
|
||||
<div className="px-4 py-5 text-sm text-[#5f5b52]">
|
||||
{runStatusChainsLoading
|
||||
{incidentFocusLoading
|
||||
? tIncidentFocus("loading")
|
||||
: tIncidentFocus("missing", { incidentId: normalizedIncidentFocus })}
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user