Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
- Fixed Bypass Permissions edit mode not suppressing the file diff dialog: the edit mode was lost from the registry because it was set before the working directory was assigned at session start

# 0.22.35 (2026-05-07)

- Fixed markdown preview not rendering nested list structure (multi-level indented lists now display with proper nesting)
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<groupId>io.github.nbclaudecodegui</groupId>
<artifactId>netbeans-claude-code-gui</artifactId>
<version>0.22.49-SNAPSHOT</version>
<version>0.22.50-SNAPSHOT</version>
<packaging>nbm</packaging>
<name>Netbeans Plugin Claude Code GUI</name>
<description>NetBeans plugin that provides a GUI for Claude Code CLI — run claude code sessions directly inside the IDE.</description>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -283,6 +283,9 @@ public void setEditMode(EditMode mode) {
*/
public void setWorkingDirectory(File dir) {
workingDirectory = dir;
if (dir != null && editMode != null) {
EDIT_MODE_REGISTRY.put(dir.getAbsolutePath(), editMode);
}
fireOnEdt(() -> listeners.forEach(l -> l.onWorkingDirectoryChanged(dir)));
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,23 @@ void setEditModeNullRemovesRegistryEntry() {
// setWorkingDirectory
// -------------------------------------------------------------------------

@Test
void setWorkingDirectoryAfterEditModeSyncsRegistry() {
// Reproduces the bug: editMode set before workingDirectory (as in startProcess)
// → registry must still be populated once workingDirectory is set
model.setEditMode(EditMode.BYPASS_PERMISSIONS);
assertNull(model.getWorkingDirectory());
assertTrue(ClaudeSessionModel.EDIT_MODE_REGISTRY.isEmpty(),
"Registry must be empty while workingDirectory is null");

File dir = new File("/tmp/bypass-test");
model.setWorkingDirectory(dir);

assertEquals(EditMode.BYPASS_PERMISSIONS,
ClaudeSessionModel.EDIT_MODE_REGISTRY.get(dir.getAbsolutePath()),
"Registry must reflect editMode set before workingDirectory was assigned");
}

@Test
void setWorkingDirectoryFiresListener() {
AtomicReference<File> captured = new AtomicReference<>();
Expand Down
Loading