diff options
Diffstat (limited to 'src/app/runtime.rs')
| -rw-r--r-- | src/app/runtime.rs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/app/runtime.rs b/src/app/runtime.rs index 2e1f4d81..64232397 100644 --- a/src/app/runtime.rs +++ b/src/app/runtime.rs @@ -206,6 +206,17 @@ impl App { self.save_session_now(); } + if let Some(deadline) = self + .agent_metadata_deadline + .filter(|deadline| now >= *deadline) + { + for update in self.state.expire_agent_metadata_at(deadline, now) { + self.emit_pane_state_update(&update); + } + self.sync_agent_metadata_deadline(); + changed = true; + } + self.sync_animation_timer(now); changed } @@ -232,6 +243,10 @@ impl App { false } + pub(crate) fn sync_agent_metadata_deadline(&mut self) { + self.agent_metadata_deadline = self.state.next_agent_metadata_expiry(); + } + pub(crate) fn sync_animation_timer(&mut self, now: Instant) { self.sync_animation_timer_with_interval(now, ANIMATION_INTERVAL); } @@ -444,6 +459,7 @@ impl App { self.next_animation_tick, self.git_refresh_deadline(), self.next_auto_update_check, + self.agent_metadata_deadline, self.session_save_deadline, self.selection_autoscroll_deadline, self.selection_highlight_clear_deadline, |
