diff options
Diffstat (limited to 'src/client/shell/endpoint_agent_state.rs')
| -rw-r--r-- | src/client/shell/endpoint_agent_state.rs | 12 |
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 |
