feat(awooop): show source ref gap prefixes
All checks were successful
CD Pipeline / tests (push) Successful in 1m31s
Code Review / ai-code-review (push) Successful in 25s
CD Pipeline / build-and-deploy (push) Successful in 4m13s
CD Pipeline / post-deploy-checks (push) Successful in 1m34s

This commit is contained in:
Your Name
2026-05-25 19:49:48 +08:00
parent 640e35977f
commit c644cfe993
7 changed files with 160 additions and 0 deletions

View File

@@ -147,6 +147,10 @@ interface CallbackReplyAuditSummary {
outbound_incident_ref_total?: number;
outbound_reply_markup_total?: number;
outbound_reply_markup_missing_incident_ref_total?: number;
outbound_reply_markup_missing_incident_ref_top_prefixes?: Array<{
prefix?: string | null;
total?: number | null;
}>;
outbound_failed_total?: number;
callback_total?: number;
callback_sent_total?: number;
@@ -1976,6 +1980,12 @@ function CallbackReplyAuditSummaryPanel({
summary.outbound_incident_ref_total ?? 0,
outboundTotal
);
const topMissingPrefixes = (
summary.outbound_reply_markup_missing_incident_ref_top_prefixes ?? []
)
.slice(0, 3)
.map((item) => `${item.prefix || "--"} ${item.total ?? 0}`)
.join(" / ") || "--";
const snapshotCoverage = formatCoveragePercent(
summary.callback_snapshot_captured_total ?? 0,
callbackTotal
@@ -2017,6 +2027,11 @@ function CallbackReplyAuditSummaryPanel({
summary.outbound_reply_markup_missing_incident_ref_total ?? 0,
})}
</p>
<p className="mt-1 text-xs leading-5 text-[#5f5b52]">
{t("outboundReplyMarkupTopPrefixes", {
prefixes: topMissingPrefixes,
})}
</p>
</div>
<div className="bg-white px-4 py-3">
<p className="text-xs font-semibold text-[#77736a]">{t("callbacks")}</p>