diff --git a/build-plugin.sh b/build-plugin.sh
index 1b2133a..cf862e2 100755
--- a/build-plugin.sh
+++ b/build-plugin.sh
@@ -2,7 +2,7 @@
set -eu
PLUGIN="u-navigator"
-VERSION="2026.06.23.r039"
+VERSION="2026.06.23.r040"
PKG_DIR="packages"
WORK_DIR=".plugin-build"
PKG_NAME="${PLUGIN}-${VERSION}.tgz"
diff --git a/packages/u-navigator-2026.06.23.r039.tgz b/packages/u-navigator-2026.06.23.r039.tgz
deleted file mode 100644
index 24386ce..0000000
Binary files a/packages/u-navigator-2026.06.23.r039.tgz and /dev/null differ
diff --git a/packages/u-navigator-2026.06.23.r040.tgz b/packages/u-navigator-2026.06.23.r040.tgz
new file mode 100644
index 0000000..299a637
Binary files /dev/null and b/packages/u-navigator-2026.06.23.r040.tgz differ
diff --git a/server/public/app.js b/server/public/app.js
index 2c47456..ee89678 100644
--- a/server/public/app.js
+++ b/server/public/app.js
@@ -1025,7 +1025,7 @@ function openPermissionsDialog(win, entry) {
state.permissionsDialog = {
winId: win.id,
entries,
- mode: entry.permissions ? `0${entry.permissions}`.slice(-4) : '0755',
+ mode: normalizeMode(entry.permissions || '0755'),
owner: entry.owner || '',
group: entry.group || '',
recursive: false,
@@ -1048,15 +1048,13 @@ function renderPermissionsDialog() {
${dialog.entries.length === 1 ? escapeHtml(dialog.entries[0].name) : `${dialog.entries.length} Objekte ausgewählt`}
+ ${permissionMatrixMarkup(dialog.mode)}
+
-
-
-
-
-
-
-