mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-04-10 19:33:37 +08:00
feat: surface ecc2 daemon auto-merge activity
This commit is contained in:
@@ -1912,6 +1912,18 @@ impl Dashboard {
|
||||
}
|
||||
}
|
||||
|
||||
if let Some(last_auto_merge_at) = self.daemon_activity.last_auto_merge_at.as_ref() {
|
||||
lines.push(format!(
|
||||
"Last daemon auto-merge {} merged / {} active / {} conflicted / {} dirty / {} failed @ {}",
|
||||
self.daemon_activity.last_auto_merge_merged,
|
||||
self.daemon_activity.last_auto_merge_active_skipped,
|
||||
self.daemon_activity.last_auto_merge_conflicted_skipped,
|
||||
self.daemon_activity.last_auto_merge_dirty_skipped,
|
||||
self.daemon_activity.last_auto_merge_failed,
|
||||
self.short_timestamp(&last_auto_merge_at.to_rfc3339())
|
||||
));
|
||||
}
|
||||
|
||||
if let Some(route_preview) = self.selected_route_preview.as_ref() {
|
||||
lines.push(format!("Next route {route_preview}"));
|
||||
}
|
||||
@@ -2774,6 +2786,12 @@ mod tests {
|
||||
last_rebalance_at: Some(now + chrono::Duration::seconds(2)),
|
||||
last_rebalance_rerouted: 1,
|
||||
last_rebalance_leads: 1,
|
||||
last_auto_merge_at: Some(now + chrono::Duration::seconds(3)),
|
||||
last_auto_merge_merged: 2,
|
||||
last_auto_merge_active_skipped: 1,
|
||||
last_auto_merge_conflicted_skipped: 1,
|
||||
last_auto_merge_dirty_skipped: 0,
|
||||
last_auto_merge_failed: 0,
|
||||
};
|
||||
|
||||
let text = dashboard.selected_session_metrics_text();
|
||||
@@ -2782,6 +2800,9 @@ mod tests {
|
||||
assert!(text.contains("Last daemon dispatch 4 routed / 2 deferred across 2 lead(s)"));
|
||||
assert!(text.contains("Last daemon recovery dispatch 1 handoff(s) across 1 lead(s)"));
|
||||
assert!(text.contains("Last daemon rebalance 1 handoff(s) across 1 lead(s)"));
|
||||
assert!(
|
||||
text.contains("Last daemon auto-merge 2 merged / 1 active / 1 conflicted / 0 dirty / 0 failed")
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@@ -2809,6 +2830,12 @@ mod tests {
|
||||
last_rebalance_at: Some(Utc::now()),
|
||||
last_rebalance_rerouted: 1,
|
||||
last_rebalance_leads: 1,
|
||||
last_auto_merge_at: None,
|
||||
last_auto_merge_merged: 0,
|
||||
last_auto_merge_active_skipped: 0,
|
||||
last_auto_merge_conflicted_skipped: 0,
|
||||
last_auto_merge_dirty_skipped: 0,
|
||||
last_auto_merge_failed: 0,
|
||||
};
|
||||
|
||||
let text = dashboard.selected_session_metrics_text();
|
||||
@@ -2840,6 +2867,12 @@ mod tests {
|
||||
last_rebalance_at: Some(Utc::now()),
|
||||
last_rebalance_rerouted: 1,
|
||||
last_rebalance_leads: 1,
|
||||
last_auto_merge_at: None,
|
||||
last_auto_merge_merged: 0,
|
||||
last_auto_merge_active_skipped: 0,
|
||||
last_auto_merge_conflicted_skipped: 0,
|
||||
last_auto_merge_dirty_skipped: 0,
|
||||
last_auto_merge_failed: 0,
|
||||
};
|
||||
|
||||
let text = dashboard.selected_session_metrics_text();
|
||||
@@ -2873,6 +2906,12 @@ mod tests {
|
||||
last_rebalance_at: Some(Utc::now()),
|
||||
last_rebalance_rerouted: 0,
|
||||
last_rebalance_leads: 1,
|
||||
last_auto_merge_at: None,
|
||||
last_auto_merge_merged: 0,
|
||||
last_auto_merge_active_skipped: 0,
|
||||
last_auto_merge_conflicted_skipped: 0,
|
||||
last_auto_merge_dirty_skipped: 0,
|
||||
last_auto_merge_failed: 0,
|
||||
};
|
||||
|
||||
let text = dashboard.selected_session_metrics_text();
|
||||
@@ -2907,6 +2946,12 @@ mod tests {
|
||||
last_rebalance_at: Some(now),
|
||||
last_rebalance_rerouted: 1,
|
||||
last_rebalance_leads: 1,
|
||||
last_auto_merge_at: None,
|
||||
last_auto_merge_merged: 0,
|
||||
last_auto_merge_active_skipped: 0,
|
||||
last_auto_merge_conflicted_skipped: 0,
|
||||
last_auto_merge_dirty_skipped: 0,
|
||||
last_auto_merge_failed: 0,
|
||||
};
|
||||
|
||||
let text = dashboard.selected_session_metrics_text();
|
||||
@@ -2956,6 +3001,12 @@ mod tests {
|
||||
last_rebalance_at: Some(now),
|
||||
last_rebalance_rerouted: 1,
|
||||
last_rebalance_leads: 1,
|
||||
last_auto_merge_at: None,
|
||||
last_auto_merge_merged: 0,
|
||||
last_auto_merge_active_skipped: 0,
|
||||
last_auto_merge_conflicted_skipped: 0,
|
||||
last_auto_merge_dirty_skipped: 0,
|
||||
last_auto_merge_failed: 0,
|
||||
};
|
||||
|
||||
let text = dashboard.selected_session_metrics_text();
|
||||
@@ -3052,6 +3103,12 @@ mod tests {
|
||||
last_rebalance_at: Some(now),
|
||||
last_rebalance_rerouted: 1,
|
||||
last_rebalance_leads: 1,
|
||||
last_auto_merge_at: None,
|
||||
last_auto_merge_merged: 0,
|
||||
last_auto_merge_active_skipped: 0,
|
||||
last_auto_merge_conflicted_skipped: 0,
|
||||
last_auto_merge_dirty_skipped: 0,
|
||||
last_auto_merge_failed: 0,
|
||||
};
|
||||
|
||||
let text = dashboard.selected_session_metrics_text();
|
||||
|
||||
Reference in New Issue
Block a user