tui/src/app/replay_filter.rs
33 lines
//! Helpers for deciding which buffered events to replay when switching threads.use codex_app_server_protocol::ServerNotification;use codex_app_server_protocol::ServerRequest;use super::ThreadBufferedEvent;use super::ThreadEventSnapshot;pub(super) fn snapshot_has_pending_interactive_request(snapshot: &ThreadEventSnapshot) -> bool { snapshot.events.iter().any(|event| { matches!( event, ThreadBufferedEvent::Request( ServerRequest::CommandExecutionRequestApproval { .. } | ServerRequest::FileChangeRequestApproval { .. } | ServerRequest::McpServerElicitationRequest { .. } | ServerRequest::PermissionsRequestApproval { .. } | ServerRequest::ToolRequestUserInput { .. } ) ) })}pub(super) fn event_is_notice(event: &ThreadBufferedEvent) -> bool { matches!( event, ThreadBufferedEvent::Notification( ServerNotification::Warning(_) | ServerNotification::GuardianWarning(_) | ServerNotification::ConfigWarning(_) ) )}