fix(hwlab): reduce web-probe diagnostic false positives (#549)

Co-authored-by: Codex <codex@noreply.local>
This commit is contained in:
Lyon
2026-06-21 10:11:49 +08:00
committed by GitHub
parent 0d8ec2b000
commit 8e8865e9df
@@ -618,7 +618,7 @@ async function samplePage(reason) {
const activeSessionId = activeSession ? activeSession.getAttribute("data-session-id") : null;
const messageSelector = '[data-testid*="message" i], [class*="message" i], article, [role="article"]';
const traceSelector = '[data-testid*="trace" i], [class*="trace" i], [data-trace-id], [data-testid*="event" i]';
const diagnosticSelector = '.api-error-diagnostic, .message-diagnostic, .projection-diagnostic, [data-testid*="diagnostic" i], [class*="diagnostic" i], [role="alert"], .alert, .warning, .error';
const diagnosticSelector = '.api-error-diagnostic, .api-error-diagnostic.message-diagnostic, .api-error-diagnostic.projection-diagnostic, [data-testid="api-error-diagnostic" i], [data-testid="error-diagnostic" i], [role="alert"], .alert, .warning, .error';
const messages = summarize(messageSelector, 20);
const traceRows = summarize(traceSelector, 30);
const diagnostics = Array.from(document.querySelectorAll(diagnosticSelector)).filter(visible).slice(-40).map((element, index) => {
@@ -1399,7 +1399,8 @@ function groupNetworkAlerts(events) {
}
function isDiagnosticText(text) {
return /Failed to fetch|request failed|realtime-gap|durable projection store|turn 超过|无法连接|暂时|报警|告警|警告|失败|错误|异常|超时|timeout|error|failed|warning|502|503|504|provider-unavailable|agentrun:error|AgentRun error|projection-resume/iu.test(String(text || ""));
const value = String(text || "");
return /Failed to (?:fetch|load resource)|request failed|net::ERR_[A-Z0-9_:-]+|server responded with a status of [45][0-9]{2}|HTTP\s+[45][0-9]{2}|trace_id=|workbench turn\s*超过|无新活动|idle\s+\d+s|waitingFor=|lastEventLabel=|无法连接上游|(?:报警|告警|警告|错误|异常|超时)[:]|timeout[:=]|error[:=]|failed[:=]|warning[:=]|provider-unavailable|agentrun:error|AgentRun error|projection-resume|durable projection store|realtime-gap|\b50[234]\b/iu.test(value);
}
function buildSampleMetrics(samples, control) {