fix: show quick verify timeout titles

This commit is contained in:
Codex
2026-07-02 06:52:52 +00:00
parent c8143143a0
commit 167a72eb1f
5 changed files with 113 additions and 19 deletions
@@ -527,7 +527,7 @@ function renderFindingItemCollapsed(item) {
const code = item.code || item.findingId || "finding";
const latestRunId = item.latestRunId || "-";
const hasLatestRun = latestRunId !== "-";
const codeLabel = displayFindingCode(code);
const codeLabel = displayFindingTitle(item, code);
const rootCause = findingRootCauseText(item);
const evidence = findingEvidenceText(item);
const nextAction = item.nextAction || findingNextAction(code);
@@ -775,7 +775,7 @@ function detailFindings(findings) {
<td><span class="severity-pill ${severityClass(item.severity)}">${escapeHtml(displaySeverity(item.severity))}</span></td>
<td class="mono">${escapeHtml(item.finding_id || item.findingId || "-")}</td>
<td>${escapeHtml(String(item.count ?? 0))}</td>
<td>${escapeHtml(shortText(displayFindingSummary(item.finding_id || item.findingId || "", item.summary || ""), 220))}</td>
<td>${escapeHtml(shortText(displayFindingTitle(item, item.finding_id || item.findingId || ""), 220))}</td>
<td>${escapeHtml(shortText(findingRootCauseText(item) || item.nextAction || "-", 240))}</td>
<td class="mono">${escapeHtml(shortText(item.report_json_sha256 || item.reportJsonSha256 || "-", 24))}</td>
</tr>`).join("")}</tbody></table></div>
@@ -1296,6 +1296,8 @@ function displayFindingCode(code) {
const normalized = String(code || "").toLowerCase();
const labels = {
"quick-verify-no-business-turn": "quick verify 未触达业务 turn",
"quick-verify-timeout-over-budget": "quick-verify 超时",
"observe-turn-terminal-wait-failed": "Workbench 等待终态超时",
"workbench-turn-state-triad-inconsistent": "Workbench 状态三元组不一致",
"session-rail-title-fallback-root-cause": "INV-02 会话标题 fallback 根因",
"trace-events-page-read-404-root-cause": "INV-07 trace events 404 根因",
@@ -1312,6 +1314,11 @@ function displayFindingCode(code) {
return labels[normalized] || String(code || "finding");
}
function displayFindingTitle(item, code) {
const dynamicTitle = item?.displayTitleZh || item?.errorTitleZh || item?.timeoutDisplay?.titleZh;
return dynamicTitle ? String(dynamicTitle) : displayFindingCode(code);
}
function displayFindingSummary(code, summary) {
const normalized = String(code || "").toLowerCase();
const summaries = {
@@ -1486,6 +1486,8 @@ function rootCauseText(item) {
}
function findingTitle(item) {
const dynamicTitle = safeUserText(item?.displayTitleZh || item?.errorTitleZh || item?.timeoutDisplay?.titleZh);
if (dynamicTitle) return dynamicTitle;
const display = checkDisplay(item);
if (display.title) return display.title;
return safeUserText(item?.checkTitleZh || item?.check?.titleZh) || "未登记监测项";
@@ -1608,9 +1610,10 @@ function checkDisplay(item) {
const rawCode = rawCheckCode(item);
const rawId = rawFindingId(item);
const serviceCode = publicCheckCode(item?.checkCode || item?.check?.code);
const dynamicTitle = safeUserText(item?.displayTitleZh || item?.errorTitleZh || item?.timeoutDisplay?.titleZh);
return {
code: serviceCode || publicCheckCode(rawId || rawCode) || stableCheckCode(rawCode || rawId),
title: safeUserText(item?.checkTitleZh || item?.check?.titleZh) || "未登记监测项",
title: dynamicTitle || safeUserText(item?.checkTitleZh || item?.check?.titleZh) || "未登记监测项",
summary: safeUserText(item?.checkSummaryZh || item?.check?.summaryZh) || "已记录监测项详情,见报告原文。",
action: safeUserText(item?.checkActionZh || item?.check?.actionZh) || "查看详情后处理",
};