From 5869f29f9feb06dfc29289a3f3448271b256d7ef Mon Sep 17 00:00:00 2001 From: Razvan Dimescu Date: Sun, 29 Mar 2026 10:24:51 +0300 Subject: [PATCH] feat: add COALESCED query path and coalescing tests Followers in the inflight coalescing path now log as COALESCED instead of RECURSIVE, making it visible in the dashboard when queries were deduplicated vs independently resolved. Adds 10 tests covering InflightGuard cleanup, broadcast mechanics, and concurrent handle_query coalescing through a mock TCP DNS server. Co-Authored-By: Claude Opus 4.6 --- site/dashboard.html | 3 + src/api.rs | 2 + src/ctx.rs | 347 +++++++++++++++++++++++++++++++++++++++++++- src/recursive.rs | 2 +- src/stats.rs | 12 +- 5 files changed, 363 insertions(+), 3 deletions(-) diff --git a/site/dashboard.html b/site/dashboard.html index 7f83699..e90fbea 100644 --- a/site/dashboard.html +++ b/site/dashboard.html @@ -285,6 +285,7 @@ body { .path-tag.OVERRIDE { background: rgba(82, 122, 82, 0.12); color: var(--emerald); } .path-tag.SERVFAIL { background: rgba(181, 68, 58, 0.12); color: var(--rose); } .path-tag.BLOCKED { background: rgba(163, 152, 136, 0.15); color: var(--text-dim); } +.path-tag.COALESCED { background: rgba(138, 104, 158, 0.12); color: var(--violet-dim); } /* Sidebar panels */ .sidebar { @@ -547,6 +548,8 @@ body {