From dcd56a861e5f6ba60acc69a6fc158c6139d69123 Mon Sep 17 00:00:00 2001 From: Oleg Samarin Date: Sat, 18 Apr 2026 13:00:37 +0300 Subject: [PATCH] Fixed terminal scrolling to the beginning when a choice menu or diff panel appears (regression since 0.20.20) (#69) Restored the scrollToShowAllOutput() call at the end of switchSouthCard(). This call was removed in commit 58c7f59 to fix a blank terminal after model selection, but the blank terminal was subsequently fixed properly via forceTerminalRedraw() in ClaudeSessionController (commit 970f359), making the removal unnecessary. The scroll regression was introduced as a side effect. Co-authored-by: Oleg Samarin Co-authored-by: Claude Sonnet 4.6 --- CHANGELOG.md | 2 ++ pom.xml | 2 +- .../java/io/github/nbclaudecodegui/ui/ClaudeSessionTab.java | 6 ++++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6e230ab0..998bd682 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,5 @@ +- Fixed terminal scrolling to the beginning when a choice menu or diff panel appears (regression since 0.20.20) + # 0.21.46 (2026-04-17) - Fixed Maven Central publication being skipped after upload diff --git a/pom.xml b/pom.xml index e54eb06e..13920f35 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ io.github.nbclaudecodegui netbeans-claude-code-gui - 0.21.55-SNAPSHOT + 0.21.56-SNAPSHOT nbm Netbeans Claude Code GUI NetBeans plugin that provides a GUI for Claude Code CLI — run claude code sessions directly inside the IDE. diff --git a/src/main/java/io/github/nbclaudecodegui/ui/ClaudeSessionTab.java b/src/main/java/io/github/nbclaudecodegui/ui/ClaudeSessionTab.java index 76571ec0..15060dbf 100644 --- a/src/main/java/io/github/nbclaudecodegui/ui/ClaudeSessionTab.java +++ b/src/main/java/io/github/nbclaudecodegui/ui/ClaudeSessionTab.java @@ -939,6 +939,12 @@ private void switchSouthCard(String card) { } southCard.revalidate(); southCard.repaint(); + // Keep the terminal scrolled to the bottom after layout changes caused by + // setDividerLocation() — JediTerm resets scroll position to top on resize. + if (terminalWidget != null) { + SwingUtilities.invokeLater( + () -> terminalWidget.getTerminalPanel().scrollToShowAllOutput()); + } } /**