From c10f9144b1436d4918855a657715b453a6228a44 Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 5 Nov 2026 02:27:03 +0100 Subject: dashboard: map remake votes --- src/api/dashboard/mod.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src/api/dashboard/mod.rs') diff --git a/src/api/dashboard/mod.rs b/src/api/dashboard/mod.rs index c82ce76..e83f485 100644 --- a/src/api/dashboard/mod.rs +++ b/src/api/dashboard/mod.rs @@ -319,13 +319,20 @@ async fn build(state: &AppState, graph: &Graph, live: bool) -> JsonValue { let list = super::peers::peer_list(state).await; let stats = serde_json::to_value(super::stats::collect(state, &list).await).unwrap_or_default(); let peers = serde_json::to_value(&list).unwrap_or_default(); - let (aliases, dashboards) = { + let (aliases, dashboards, remakes) = { let replica = state.doc.read().await; + // The remakes of our epoch, with who voted: the map shows them. + let remakes = crate::remake::current( + &replica.doc, + replica.epoch, + state.clock.now_millis(), + state.timing.dormant_after.as_millis() as u64, + ); let dashboards: std::collections::HashMap = members::members(&replica.doc) .into_iter() .filter_map(|pk| members::dashboard(&replica.doc, &pk).map(|url| (pk, url))) .collect(); - (members::aliases(&replica.doc), dashboards) + (members::aliases(&replica.doc), dashboards, remakes) }; let local = state.local_id(); let intended: Map = graph @@ -400,6 +407,7 @@ async fn build(state: &AppState, graph: &Graph, live: bool) -> JsonValue { "clocks": clocks, "live": live, }, + "remakes": remakes, }) } -- cgit v1.3.1