F5 thalamus: cached channel status, refresh on entry

Channel status is cached on App and refreshed when switching
to F5, not polled every render frame. Shows connected/disconnected
status and unread count per channel daemon.

Co-Developed-By: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
ProofOfConcept 2026-04-03 19:05:48 -04:00
parent 48b8ba73d8
commit 36afa90cdb
3 changed files with 89 additions and 22 deletions

View file

@ -964,9 +964,13 @@ async fn run(cli: cli::CliArgs) -> Result<()> {
dirty = true;
}
// Render tick — only redraws if dirty
// Render tick
_ = render_interval.tick() => {
app.running_processes = session.process_tracker.list().await.len() as u32;
let new_count = session.process_tracker.list().await.len() as u32;
if new_count != app.running_processes {
app.running_processes = new_count;
dirty = true;
}
}
// DMN timer (only when no turn is running)