From a8f47c8b45a2c59df32a03fb0cff9828e9fc6665 Mon Sep 17 00:00:00 2001 From: epaez Date: Wed, 3 Dec 2025 14:45:59 -0500 Subject: [PATCH 1/3] fix: check for empty jj log responses --- src/commander/log.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/commander/log.rs b/src/commander/log.rs index 636d61d..7bb8de1 100644 --- a/src/commander/log.rs +++ b/src/commander/log.rs @@ -198,6 +198,9 @@ impl Commander { let Ok(latest_heads_res) = latest_heads_res else { return self.get_head_latest(&self.get_current_head()?); }; + if latest_heads_res.is_empty() { + return self.get_head_latest(&self.get_current_head()?); + } let latest_heads: Vec = latest_heads_res .lines() .map(parse_head) From f9486e66105250712b69591e34b8b42428bf84a3 Mon Sep 17 00:00:00 2001 From: epaez Date: Wed, 3 Dec 2025 16:13:09 -0500 Subject: [PATCH 2/3] set_head on focus --- src/ui/log_tab.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/ui/log_tab.rs b/src/ui/log_tab.rs index cc69aaa..857800a 100644 --- a/src/ui/log_tab.rs +++ b/src/ui/log_tab.rs @@ -438,8 +438,7 @@ impl<'a> LogTab<'a> { impl Component for LogTab<'_> { fn focus(&mut self, commander: &mut Commander) -> Result<()> { let latest_head = commander.get_head_latest(&self.head)?; - self.log_panel.set_head(latest_head); - self.sync_head_output(commander); + self.set_head(commander, latest_head); Ok(()) } From 4fca8230a186fce42ef1417f48f3faef02e64d0b Mon Sep 17 00:00:00 2001 From: epaez Date: Wed, 3 Dec 2025 18:27:25 -0500 Subject: [PATCH 3/3] always update details pane --- src/ui/log_tab.rs | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/ui/log_tab.rs b/src/ui/log_tab.rs index 857800a..02457be 100644 --- a/src/ui/log_tab.rs +++ b/src/ui/log_tab.rs @@ -130,13 +130,8 @@ impl<'a> LogTab<'a> { }) } - /// Update change details panel if the selection has changed + /// Update change details panel fn sync_head_output(&mut self, commander: &mut Commander) { - if self.head == self.log_panel.head { - // log panel and head panel agree on head - return; - } - // Update head panel to show new head self.head = self.log_panel.head.clone(); self.refresh_head_output(commander); }