diff options
| author | tv <tv@krebsco.de> | 2026-11-05 02:27:03 +0100 |
|---|---|---|
| committer | tv <tv@krebsco.de> | 2026-11-05 02:27:03 +0100 |
| commit | c10f9144b1436d4918855a657715b453a6228a44 (patch) | |
| tree | e20badbad227b7e05e94f5f6a161854beec1bd56 /src/api/dashboard/mod.rs | |
| parent | d510e3a7b223b75b5187470432f909665b6cd967 (diff) | |
dashboard: map remake votes
Diffstat (limited to 'src/api/dashboard/mod.rs')
| -rw-r--r-- | src/api/dashboard/mod.rs | 12 |
1 files changed, 10 insertions, 2 deletions
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<String, String> = 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<String, JsonValue> = graph @@ -400,6 +407,7 @@ async fn build(state: &AppState, graph: &Graph, live: bool) -> JsonValue { "clocks": clocks, "live": live, }, + "remakes": remakes, }) } |
