diff options
Diffstat (limited to 'src/app')
| -rw-r--r-- | src/app/actions.rs | 19 | ||||
| -rw-r--r-- | src/app/api.rs | 3 |
2 files changed, 18 insertions, 4 deletions
diff --git a/src/app/actions.rs b/src/app/actions.rs index b8777cdc..317bbff7 100644 --- a/src/app/actions.rs +++ b/src/app/actions.rs @@ -599,23 +599,33 @@ impl AppState { agent_label, state, message, + seq, } => self .update_pane_state(pane_id, |pane| { - pane.set_hook_authority(source, agent_label, state, message) + pane.set_hook_authority(source, agent_label, state, message, seq) }) .into_iter() .collect(), - AppEvent::HookAuthorityCleared { pane_id, source } => self - .update_pane_state(pane_id, |pane| pane.clear_hook_authority(source.as_deref())) + AppEvent::HookAuthorityCleared { + pane_id, + source, + seq, + } => self + .update_pane_state(pane_id, |pane| { + pane.clear_hook_authority(source.as_deref(), seq) + }) .into_iter() .collect(), AppEvent::HookAgentReleased { pane_id, source, agent_label, + seq, .. } => self - .update_pane_state(pane_id, |pane| pane.release_agent(&source, &agent_label)) + .update_pane_state(pane_id, |pane| { + pane.release_agent(&source, &agent_label, seq) + }) .into_iter() .collect(), // Intercepted in App::handle_internal_event before reaching this @@ -1153,6 +1163,7 @@ mod tests { agent_label: "hermes".into(), state: AgentState::Blocked, message: None, + seq: None, }); let toast = state.toast.as_ref().unwrap(); diff --git a/src/app/api.rs b/src/app/api.rs index b23787d2..c675aa6f 100644 --- a/src/app/api.rs +++ b/src/app/api.rs @@ -1019,6 +1019,7 @@ impl App { agent_label, state: detect_state_from_api(params.state), message: params.message, + seq: params.seq, }); SuccessResponse { id: request.id, @@ -1039,6 +1040,7 @@ impl App { self.handle_internal_event(crate::events::AppEvent::HookAuthorityCleared { pane_id, source: params.source, + seq: params.seq, }); SuccessResponse { id: request.id, @@ -1071,6 +1073,7 @@ impl App { source: params.source, known_agent: crate::detect::parse_agent_label(&agent_label), agent_label, + seq: params.seq, }); SuccessResponse { id: request.id, |
