aboutsummaryrefslogtreecommitdiff
path: root/src/client/shell/endpoint_agent_state.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/shell/endpoint_agent_state.rs')
-rw-r--r--src/client/shell/endpoint_agent_state.rs12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/client/shell/endpoint_agent_state.rs b/src/client/shell/endpoint_agent_state.rs
index fdcd7478..f8ba7a9b 100644
--- a/src/client/shell/endpoint_agent_state.rs
+++ b/src/client/shell/endpoint_agent_state.rs
@@ -71,14 +71,16 @@ impl EndpointAgentPresentation {
changed
}
+ pub(super) fn seen(&self, agent: &ClientShellAgent) -> bool {
+ self.acknowledged
+ .get(&agent.pane_id)
+ .is_some_and(|sequence| *sequence >= agent.state_change_seq)
+ }
+
fn projected_status(&self, agent: &ClientShellAgent) -> AgentStatus {
match agent.agent_status {
AgentStatus::Idle | AgentStatus::Done => {
- if self
- .acknowledged
- .get(&agent.pane_id)
- .is_some_and(|sequence| *sequence >= agent.state_change_seq)
- {
+ if self.seen(agent) {
AgentStatus::Idle
} else {
AgentStatus::Done