diff --git a/app/src/main/java/io/xpipe/app/comp/base/ModalOverlayComp.java b/app/src/main/java/io/xpipe/app/comp/base/ModalOverlayComp.java index 89f633d24..2f00f66b0 100644 --- a/app/src/main/java/io/xpipe/app/comp/base/ModalOverlayComp.java +++ b/app/src/main/java/io/xpipe/app/comp/base/ModalOverlayComp.java @@ -89,7 +89,7 @@ public class ModalOverlayComp extends SimpleComp { }); modal.addEventHandler(KeyEvent.KEY_PRESSED, event -> { - if (event.getCode() == KeyCode.ENTER) { + if (event.getCode() == KeyCode.ENTER || event.getCode() == KeyCode.SPACE) { if (actionRunning.get()) { return; } diff --git a/app/src/main/java/io/xpipe/app/hub/comp/StoreSectionBaseComp.java b/app/src/main/java/io/xpipe/app/hub/comp/StoreSectionBaseComp.java index aef3b9191..03588576a 100644 --- a/app/src/main/java/io/xpipe/app/hub/comp/StoreSectionBaseComp.java +++ b/app/src/main/java/io/xpipe/app/hub/comp/StoreSectionBaseComp.java @@ -95,13 +95,15 @@ public abstract class StoreSectionBaseComp extends Comp> { return; } - hbox.getChildren().addAll(children); + if (hbox.getChildren().size() == 0) { + hbox.getChildren().addAll(children); + } } else { if (root.isVisible()) { return; } - hbox.getChildren().removeAll(children); + hbox.getChildren().clear(); } }); }); diff --git a/app/src/main/java/io/xpipe/app/prefs/ExternalApplicationHelper.java b/app/src/main/java/io/xpipe/app/prefs/ExternalApplicationHelper.java index 31867d77d..88957cc26 100644 --- a/app/src/main/java/io/xpipe/app/prefs/ExternalApplicationHelper.java +++ b/app/src/main/java/io/xpipe/app/prefs/ExternalApplicationHelper.java @@ -54,6 +54,11 @@ public class ExternalApplicationHelper { try (var sc = LocalShell.getShell().start()) { var base = b.buildBaseParts(sc); var exec = base.getFirst(); + if (exec.startsWith("\"") && exec.endsWith("\"")) { + exec = exec.substring(1, exec.length() - 1); + } else if (exec.startsWith("'") && exec.endsWith("'")) { + exec = exec.substring(1, exec.length() - 1); + } CommandSupport.isInPathOrThrow(sc, exec); var cmd = sc.getShellDialect().launchAsnyc(b); diff --git a/app/src/main/java/io/xpipe/app/process/CommandSupport.java b/app/src/main/java/io/xpipe/app/process/CommandSupport.java index 550c9cfb4..2a5aea29e 100644 --- a/app/src/main/java/io/xpipe/app/process/CommandSupport.java +++ b/app/src/main/java/io/xpipe/app/process/CommandSupport.java @@ -29,7 +29,7 @@ public class CommandSupport { public static void isInPathOrThrow( ShellControl processControl, String executable, String displayName, DataStoreEntry connection) throws Exception { - if (!processControl.view().findProgram(executable).isPresent()) { + if (processControl.view().findProgram(executable).isEmpty()) { var prefix = displayName != null ? displayName + " executable " + executable : executable + " executable"; throw ErrorEventFactory.expected(new IOException( prefix + " not found in PATH" + (connection != null ? " on system " + connection.getName() : ""))); diff --git a/app/src/main/java/io/xpipe/app/util/DocumentationLink.java b/app/src/main/java/io/xpipe/app/util/DocumentationLink.java index 15391ac68..1aeb0208c 100644 --- a/app/src/main/java/io/xpipe/app/util/DocumentationLink.java +++ b/app/src/main/java/io/xpipe/app/util/DocumentationLink.java @@ -15,7 +15,7 @@ public enum DocumentationLink { PRIVACY("legal/privacy"), EULA("legal/eula"), WEBTOP_UPDATE("guide/webtop#updating"), - WEBTOP_TAILSCALE("guide/webtop#networking-and-tailscale"), + WEBTOP_TUN("guide/webtop##networking-tailscale-and-netbird"), SYNC("guide/sync"), SYNC_LOCAL("guide/sync#local-repositories"), DESKTOP_APPLICATIONS("guide/desktop-applications"), diff --git a/build.gradle b/build.gradle index 1c198d790..5fdb4b81f 100644 --- a/build.gradle +++ b/build.gradle @@ -265,7 +265,7 @@ project.ext { jpackageMacOsBundleName = isStage ? groupName + '.ptb-app' : groupName + '.app' jpackageReleaseArguments = jvmRunArgs + [ "-D" + propertyName("version") + "=" + versionString, - "-D" + propertyName("build") + "=$versionString/${new Date().format('yyyy-MM-dd-HH-mm')}\"", + "-D" + propertyName("build") + "=$versionString/${new Date().format('yyyy-MM-dd-HH-mm')}", "-D" + propertyName("buildId") + "=" + buildId, "-D" + propertyName("fullVersion") + "=" + fullVersion, "-D" + propertyName("staging") + "=" + isStage, diff --git a/version b/version index 8b2f28016..c51c851f6 100644 --- a/version +++ b/version @@ -1 +1 @@ -19.0-9 +19.0-10