From b621e510711a61475508a07223cc46bc5260df59 Mon Sep 17 00:00:00 2001 From: Brian O'Kelley Date: Mon, 12 Jan 2026 18:33:28 -0500 Subject: [PATCH] fix: outreach stats header shows correct values - Fixed SENT THIS WEEK showing 0: frontend used stats.sent_week but backend returned sent_this_week - Fixed RESPONSE RATE showing X/0: frontend expected stats.total_sent but backend didn't return it Co-Authored-By: Claude Opus 4.5 --- .changeset/fix-outreach-stats.md | 4 ++++ server/public/admin-outreach.html | 2 +- server/src/db/insights-db.ts | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 .changeset/fix-outreach-stats.md diff --git a/.changeset/fix-outreach-stats.md b/.changeset/fix-outreach-stats.md new file mode 100644 index 0000000000..8a7bfeefe1 --- /dev/null +++ b/.changeset/fix-outreach-stats.md @@ -0,0 +1,4 @@ +--- +--- + +fix: align frontend outreach stats field names with backend API response diff --git a/server/public/admin-outreach.html b/server/public/admin-outreach.html index c2bdc5d6d0..16476b8369 100644 --- a/server/public/admin-outreach.html +++ b/server/public/admin-outreach.html @@ -613,7 +613,7 @@

New Variant

if (response.ok) { const stats = await response.json(); document.getElementById('stat-today').textContent = stats.sent_today || 0; - document.getElementById('stat-week').textContent = stats.sent_week || 0; + document.getElementById('stat-week').textContent = stats.sent_this_week || 0; const responseRate = stats.total_sent > 0 ? Math.round(100 * stats.total_responded / stats.total_sent) : 0; diff --git a/server/src/db/insights-db.ts b/server/src/db/insights-db.ts index f5ba1dc5a8..53a65c96be 100644 --- a/server/src/db/insights-db.ts +++ b/server/src/db/insights-db.ts @@ -287,6 +287,7 @@ export interface OutreachStats { sent_today: number; sent_this_week: number; total_responded: number; + total_sent: number; response_rate: number; insights_gathered: number; } @@ -1238,6 +1239,7 @@ export class InsightsDatabase { sent_today: parseInt(row.sent_today, 10), sent_this_week: parseInt(row.sent_this_week, 10), total_responded: totalResponded, + total_sent: totalSent, response_rate: totalSent > 0 ? Math.round((100 * totalResponded) / totalSent) : 0, insights_gathered: parseInt(row.insights_gathered, 10), };