From 3abd7e75f3d21760291c118be3ba2c335f2be42f Mon Sep 17 00:00:00 2001 From: crschnick Date: Wed, 18 Jun 2025 13:46:03 +0000 Subject: [PATCH] Fixes --- .../browser/file/BrowserBreadcrumbBar.java | 3 +- .../app/browser/file/BrowserFileOutput.java | 1 - .../file/BrowserFileSystemTabModel.java | 11 ++-- .../main/java/io/xpipe/app/core/AppCache.java | 1 - .../hub/action/impl/CloneHubLeafProvider.java | 2 +- .../hub/action/impl/EditHubLeafProvider.java | 2 +- .../impl/RefreshChildrenHubLeafProvider.java | 2 +- .../hub/action/impl/ScanHubLeafProvider.java | 2 +- .../app/prefs/PasswordManagerTestComp.java | 2 +- .../io/xpipe/app/pwman/TweetNaClHelper.java | 10 +--- .../app/terminal/WindowsTerminalType.java | 6 +- .../java/io/xpipe/app/util/ModuleAccess.java | 7 ++- .../java/io/xpipe/core/store/FileNames.java | 59 ------------------- .../LocalIdentityConvertActionProvider.java | 2 +- .../SimpleScriptQuickEditActionProvider.java | 2 +- .../ServiceCopyAddressActionProvider.java | 2 +- .../service/ServiceRefreshActionProvider.java | 2 +- ext/base/src/main/java/module-info.java | 1 - .../IncusContainerConsoleActionProvider.java | 2 +- ...ncusContainerEditConfigActionProvider.java | 2 +- ...sContainerEditRunConfigActionProvider.java | 2 +- .../LxdContainerConsoleActionProvider.java | 2 +- .../LxdContainerEditConfigActionProvider.java | 2 +- ...dContainerEditRunConfigActionProvider.java | 2 +- .../PodmanContainerAttachActionProvider.java | 2 +- .../PodmanContainerInspectActionProvider.java | 2 +- .../PodmanContainerLogsActionProvider.java | 2 +- 27 files changed, 36 insertions(+), 99 deletions(-) diff --git a/app/src/main/java/io/xpipe/app/browser/file/BrowserBreadcrumbBar.java b/app/src/main/java/io/xpipe/app/browser/file/BrowserBreadcrumbBar.java index a3f07d45f..07f2f4be4 100644 --- a/app/src/main/java/io/xpipe/app/browser/file/BrowserBreadcrumbBar.java +++ b/app/src/main/java/io/xpipe/app/browser/file/BrowserBreadcrumbBar.java @@ -2,7 +2,6 @@ package io.xpipe.app.browser.file; import io.xpipe.app.comp.SimpleComp; import io.xpipe.app.util.PlatformThread; -import io.xpipe.core.store.FileNames; import io.xpipe.core.store.FilePath; import javafx.scene.Node; @@ -28,7 +27,7 @@ public class BrowserBreadcrumbBar extends SimpleComp { @Override protected Region createSimple() { Callback, ButtonBase> crumbFactory = crumb -> { - var name = crumb.getValue().equals("/") ? "/" : FileNames.getFileName(crumb.getValue()); + var name = crumb.getValue().equals("/") ? "/" : FilePath.of(crumb.getValue()).getFileName(); var btn = new Button(name, null); btn.setMnemonicParsing(false); btn.setFocusTraversable(false); diff --git a/app/src/main/java/io/xpipe/app/browser/file/BrowserFileOutput.java b/app/src/main/java/io/xpipe/app/browser/file/BrowserFileOutput.java index b58797f01..37b22b415 100644 --- a/app/src/main/java/io/xpipe/app/browser/file/BrowserFileOutput.java +++ b/app/src/main/java/io/xpipe/app/browser/file/BrowserFileOutput.java @@ -2,7 +2,6 @@ package io.xpipe.app.browser.file; import io.xpipe.app.storage.DataStoreEntry; -import java.io.IOException; import java.io.OutputStream; import java.util.Optional; diff --git a/app/src/main/java/io/xpipe/app/browser/file/BrowserFileSystemTabModel.java b/app/src/main/java/io/xpipe/app/browser/file/BrowserFileSystemTabModel.java index 766d2ed4c..298c9307e 100644 --- a/app/src/main/java/io/xpipe/app/browser/file/BrowserFileSystemTabModel.java +++ b/app/src/main/java/io/xpipe/app/browser/file/BrowserFileSystemTabModel.java @@ -166,7 +166,7 @@ public final class BrowserFileSystemTabModel extends BrowserStoreSessionTab { @Jacksonized @SuperBuilder - static class Action extends StoreAction { + public static class Action extends StoreAction { @Override public void executeImpl() { diff --git a/app/src/main/java/io/xpipe/app/hub/action/impl/EditHubLeafProvider.java b/app/src/main/java/io/xpipe/app/hub/action/impl/EditHubLeafProvider.java index 7a44b6dd4..61adf3c2e 100644 --- a/app/src/main/java/io/xpipe/app/hub/action/impl/EditHubLeafProvider.java +++ b/app/src/main/java/io/xpipe/app/hub/action/impl/EditHubLeafProvider.java @@ -48,7 +48,7 @@ public class EditHubLeafProvider implements HubLeafProvider { @Jacksonized @SuperBuilder - static class Action extends StoreAction { + public static class Action extends StoreAction { @Override public void executeImpl() { diff --git a/app/src/main/java/io/xpipe/app/hub/action/impl/RefreshChildrenHubLeafProvider.java b/app/src/main/java/io/xpipe/app/hub/action/impl/RefreshChildrenHubLeafProvider.java index 5c63ba6e5..ead6184b4 100644 --- a/app/src/main/java/io/xpipe/app/hub/action/impl/RefreshChildrenHubLeafProvider.java +++ b/app/src/main/java/io/xpipe/app/hub/action/impl/RefreshChildrenHubLeafProvider.java @@ -58,7 +58,7 @@ public class RefreshChildrenHubLeafProvider implements HubLeafProvider { + public static class Action extends StoreAction { @Override public void executeImpl() { diff --git a/app/src/main/java/io/xpipe/app/hub/action/impl/ScanHubLeafProvider.java b/app/src/main/java/io/xpipe/app/hub/action/impl/ScanHubLeafProvider.java index a3654ad80..ccaf2fb94 100644 --- a/app/src/main/java/io/xpipe/app/hub/action/impl/ScanHubLeafProvider.java +++ b/app/src/main/java/io/xpipe/app/hub/action/impl/ScanHubLeafProvider.java @@ -68,7 +68,7 @@ public class ScanHubLeafProvider implements HubLeafProvider { @Jacksonized @SuperBuilder - static class Action extends StoreAction { + public static class Action extends StoreAction { @Override public void executeImpl() { diff --git a/app/src/main/java/io/xpipe/app/prefs/PasswordManagerTestComp.java b/app/src/main/java/io/xpipe/app/prefs/PasswordManagerTestComp.java index ed7493546..b2f111c85 100644 --- a/app/src/main/java/io/xpipe/app/prefs/PasswordManagerTestComp.java +++ b/app/src/main/java/io/xpipe/app/prefs/PasswordManagerTestComp.java @@ -66,7 +66,7 @@ public class PasswordManagerTestComp extends SimpleComp { .tooltip(AppI18n.observable("test")) .styleClass(Styles.RIGHT_PILL); - var testInput = new HorizontalComp(List.>of(field, button)); + var testInput = new HorizontalComp(List.of(field, button)); testInput.apply(struc -> { struc.get().setFillHeight(true); var first = ((Region) struc.get().getChildren().get(0)); diff --git a/app/src/main/java/io/xpipe/app/pwman/TweetNaClHelper.java b/app/src/main/java/io/xpipe/app/pwman/TweetNaClHelper.java index 7ab945be8..51e59ae73 100644 --- a/app/src/main/java/io/xpipe/app/pwman/TweetNaClHelper.java +++ b/app/src/main/java/io/xpipe/app/pwman/TweetNaClHelper.java @@ -1,5 +1,6 @@ package io.xpipe.app.pwman; +import lombok.Getter; import org.bouncycastle.crypto.AsymmetricCipherKeyPair; import org.bouncycastle.crypto.KeyGenerationParameters; import org.bouncycastle.crypto.agreement.X25519Agreement; @@ -26,6 +27,7 @@ public class TweetNaClHelper { // Sigma constant ("expand 32-byte k") private static final byte[] SIGMA = {101, 120, 112, 97, 110, 100, 32, 51, 50, 45, 98, 121, 116, 101, 32, 107}; + @Getter public static class KeyPair { private final byte[] publicKey; private final byte[] secretKey; @@ -34,14 +36,6 @@ public class TweetNaClHelper { this.publicKey = publicKey; this.secretKey = secretKey; } - - public byte[] getPublicKey() { - return publicKey; - } - - public byte[] getSecretKey() { - return secretKey; - } } /** diff --git a/app/src/main/java/io/xpipe/app/terminal/WindowsTerminalType.java b/app/src/main/java/io/xpipe/app/terminal/WindowsTerminalType.java index 661005545..b57d1dda0 100644 --- a/app/src/main/java/io/xpipe/app/terminal/WindowsTerminalType.java +++ b/app/src/main/java/io/xpipe/app/terminal/WindowsTerminalType.java @@ -5,7 +5,7 @@ import io.xpipe.app.core.AppProperties; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.util.LocalShell; import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.store.FileNames; +import io.xpipe.core.store.FilePath; import io.xpipe.core.util.JacksonMapper; import io.xpipe.core.util.XPipeInstallation; @@ -38,8 +38,8 @@ public interface WindowsTerminalType extends ExternalTerminalType, TrackableTerm // A weird behavior in Windows Terminal causes the trailing // backslash of a filepath to escape the closing quote in the title argument // So just remove that slash - var fixedName = FileNames.removeTrailingSlash(configuration.getColoredTitle()); - cmd.add("--title").addQuoted(fixedName); + var fixedName = FilePath.of(configuration.getColoredTitle()).removeTrailingSlash(); + cmd.add("--title").addQuoted(fixedName.toString()); cmd.add("--profile").addQuoted("{021eff0f-b38a-45f9-895d-41467e9d510f}"); cmd.add(configuration.getDialectLaunchCommand()); return cmd; diff --git a/app/src/main/java/io/xpipe/app/util/ModuleAccess.java b/app/src/main/java/io/xpipe/app/util/ModuleAccess.java index b21a6d644..e040c4d01 100644 --- a/app/src/main/java/io/xpipe/app/util/ModuleAccess.java +++ b/app/src/main/java/io/xpipe/app/util/ModuleAccess.java @@ -19,8 +19,13 @@ public class ModuleAccess { break; } } - modifiers.setAccessible(true); + // Maybe an unknown JDK version? + if (modifiers == null) { + return; + } + + modifiers.setAccessible(true); modifiers.invoke(source, pkg, target, false, true); modifiers.invoke(source, pkg, target, true, true); } diff --git a/core/src/main/java/io/xpipe/core/store/FileNames.java b/core/src/main/java/io/xpipe/core/store/FileNames.java index edbac0588..01ae15a19 100644 --- a/core/src/main/java/io/xpipe/core/store/FileNames.java +++ b/core/src/main/java/io/xpipe/core/store/FileNames.java @@ -1,42 +1,10 @@ package io.xpipe.core.store; -import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class FileNames { - public static String quoteIfNecessary(String n) { - return n.contains(" ") ? "\"" + n + "\"" : n; - } - - public static String toDirectory(String path) { - if (path == null) { - return null; - } - - if (path.endsWith("/") || path.endsWith("\\")) { - return path; - } - - if (path.contains("\\")) { - return path + "\\"; - } - - return path + "/"; - } - - public static String removeTrailingSlash(String path) { - if (path.equals("/")) { - return path; - } - - if (path.endsWith("/") || path.endsWith("\\")) { - return path.substring(0, path.length() - 1); - } - return path; - } - public static String getFileName(String file) { if (file == null) { return null; @@ -58,26 +26,6 @@ public class FileNames { return components.getLast(); } - public static List splitHierarchy(String file) { - if (file.isEmpty()) { - return List.of(); - } - - file = file + "/"; - var list = new ArrayList(); - int lastElementStart = 0; - for (int i = 0; i < file.length(); i++) { - if (file.charAt(i) == '\\' || file.charAt(i) == '/') { - if (i - lastElementStart > 0) { - list.add(file.substring(0, i)); - } - - lastElementStart = i + 1; - } - } - return list; - } - public static String getBaseName(String file) { if (file == null || file.isEmpty()) { return null; @@ -132,13 +80,6 @@ public class FileNames { return file.substring(0, file.length() - getFileName(file).length() - 1); } - public static boolean startsWith(String file, String start) { - return normalize(file).startsWith(normalize(start)); - } - - public static String relativize(String from, String to) { - return normalize(to).substring(FileNames.toDirectory(normalize(from)).length()); - } public static String normalize(String file) { var backslash = file.contains("\\"); diff --git a/ext/base/src/main/java/io/xpipe/ext/base/identity/LocalIdentityConvertActionProvider.java b/ext/base/src/main/java/io/xpipe/ext/base/identity/LocalIdentityConvertActionProvider.java index f9d1ba44a..969e48484 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/identity/LocalIdentityConvertActionProvider.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/identity/LocalIdentityConvertActionProvider.java @@ -61,7 +61,7 @@ public class LocalIdentityConvertActionProvider implements HubLeafProvider { + public static class Action extends StoreAction { @Override public void executeImpl() { diff --git a/ext/base/src/main/java/io/xpipe/ext/base/script/SimpleScriptQuickEditActionProvider.java b/ext/base/src/main/java/io/xpipe/ext/base/script/SimpleScriptQuickEditActionProvider.java index 8c80bfbf2..19e12d6e2 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/script/SimpleScriptQuickEditActionProvider.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/script/SimpleScriptQuickEditActionProvider.java @@ -58,7 +58,7 @@ public class SimpleScriptQuickEditActionProvider implements HubLeafProvider { + public static class Action extends StoreAction { @Override public void executeImpl() { diff --git a/ext/base/src/main/java/io/xpipe/ext/base/service/ServiceCopyAddressActionProvider.java b/ext/base/src/main/java/io/xpipe/ext/base/service/ServiceCopyAddressActionProvider.java index ca71bb96d..10e662c19 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/service/ServiceCopyAddressActionProvider.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/service/ServiceCopyAddressActionProvider.java @@ -53,7 +53,7 @@ public class ServiceCopyAddressActionProvider implements HubLeafProvider { + public static class Action extends StoreAction { @Override public void executeImpl() throws Exception { diff --git a/ext/base/src/main/java/io/xpipe/ext/base/service/ServiceRefreshActionProvider.java b/ext/base/src/main/java/io/xpipe/ext/base/service/ServiceRefreshActionProvider.java index d18d502af..3ea1608e7 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/service/ServiceRefreshActionProvider.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/service/ServiceRefreshActionProvider.java @@ -69,7 +69,7 @@ public class ServiceRefreshActionProvider @Jacksonized @SuperBuilder - static class Action extends StoreAction { + public static class Action extends StoreAction { @Override public void executeImpl() { diff --git a/ext/base/src/main/java/module-info.java b/ext/base/src/main/java/module-info.java index 02b21515e..27e8b48d0 100644 --- a/ext/base/src/main/java/module-info.java +++ b/ext/base/src/main/java/module-info.java @@ -1,7 +1,6 @@ import io.xpipe.app.action.ActionProvider; import io.xpipe.app.ext.DataStorageExtensionProvider; import io.xpipe.app.ext.DataStoreProvider; -import io.xpipe.app.hub.action.impl.*; import io.xpipe.ext.base.desktop.DesktopApplicationStoreProvider; import io.xpipe.ext.base.identity.*; import io.xpipe.ext.base.script.*; diff --git a/ext/system/src/main/java/io/xpipe/ext/system/incus/IncusContainerConsoleActionProvider.java b/ext/system/src/main/java/io/xpipe/ext/system/incus/IncusContainerConsoleActionProvider.java index 7cc069776..8a336e152 100644 --- a/ext/system/src/main/java/io/xpipe/ext/system/incus/IncusContainerConsoleActionProvider.java +++ b/ext/system/src/main/java/io/xpipe/ext/system/incus/IncusContainerConsoleActionProvider.java @@ -47,7 +47,7 @@ public class IncusContainerConsoleActionProvider implements HubLeafProvider { + public static class Action extends StoreAction { @Override public void executeImpl() throws Exception { diff --git a/ext/system/src/main/java/io/xpipe/ext/system/incus/IncusContainerEditConfigActionProvider.java b/ext/system/src/main/java/io/xpipe/ext/system/incus/IncusContainerEditConfigActionProvider.java index 077a45079..1df8ca64d 100644 --- a/ext/system/src/main/java/io/xpipe/ext/system/incus/IncusContainerEditConfigActionProvider.java +++ b/ext/system/src/main/java/io/xpipe/ext/system/incus/IncusContainerEditConfigActionProvider.java @@ -47,7 +47,7 @@ public class IncusContainerEditConfigActionProvider implements HubLeafProvider { + public static class Action extends StoreAction { @Override public boolean isMutation() { diff --git a/ext/system/src/main/java/io/xpipe/ext/system/incus/IncusContainerEditRunConfigActionProvider.java b/ext/system/src/main/java/io/xpipe/ext/system/incus/IncusContainerEditRunConfigActionProvider.java index c12df15dc..34ea0756d 100644 --- a/ext/system/src/main/java/io/xpipe/ext/system/incus/IncusContainerEditRunConfigActionProvider.java +++ b/ext/system/src/main/java/io/xpipe/ext/system/incus/IncusContainerEditRunConfigActionProvider.java @@ -51,7 +51,7 @@ public class IncusContainerEditRunConfigActionProvider implements HubLeafProvide @Jacksonized @SuperBuilder - static class Action extends StoreAction { + public static class Action extends StoreAction { @Override public boolean isMutation() { diff --git a/ext/system/src/main/java/io/xpipe/ext/system/lxd/LxdContainerConsoleActionProvider.java b/ext/system/src/main/java/io/xpipe/ext/system/lxd/LxdContainerConsoleActionProvider.java index 285b46d63..ef8cd8f24 100644 --- a/ext/system/src/main/java/io/xpipe/ext/system/lxd/LxdContainerConsoleActionProvider.java +++ b/ext/system/src/main/java/io/xpipe/ext/system/lxd/LxdContainerConsoleActionProvider.java @@ -48,7 +48,7 @@ public class LxdContainerConsoleActionProvider implements HubLeafProvider { + public static class Action extends StoreAction { @Override public void executeImpl() throws Exception { diff --git a/ext/system/src/main/java/io/xpipe/ext/system/lxd/LxdContainerEditConfigActionProvider.java b/ext/system/src/main/java/io/xpipe/ext/system/lxd/LxdContainerEditConfigActionProvider.java index 64e0657b5..456c85087 100644 --- a/ext/system/src/main/java/io/xpipe/ext/system/lxd/LxdContainerEditConfigActionProvider.java +++ b/ext/system/src/main/java/io/xpipe/ext/system/lxd/LxdContainerEditConfigActionProvider.java @@ -48,7 +48,7 @@ public class LxdContainerEditConfigActionProvider implements HubLeafProvider { + public static class Action extends StoreAction { @Override public boolean isMutation() { diff --git a/ext/system/src/main/java/io/xpipe/ext/system/lxd/LxdContainerEditRunConfigActionProvider.java b/ext/system/src/main/java/io/xpipe/ext/system/lxd/LxdContainerEditRunConfigActionProvider.java index 2809cccbf..e3c9a82af 100644 --- a/ext/system/src/main/java/io/xpipe/ext/system/lxd/LxdContainerEditRunConfigActionProvider.java +++ b/ext/system/src/main/java/io/xpipe/ext/system/lxd/LxdContainerEditRunConfigActionProvider.java @@ -51,7 +51,7 @@ public class LxdContainerEditRunConfigActionProvider implements HubLeafProvider< @Jacksonized @SuperBuilder - static class Action extends StoreAction { + public static class Action extends StoreAction { @Override public boolean isMutation() { diff --git a/ext/system/src/main/java/io/xpipe/ext/system/podman/PodmanContainerAttachActionProvider.java b/ext/system/src/main/java/io/xpipe/ext/system/podman/PodmanContainerAttachActionProvider.java index ce2a66d5a..89e873ded 100644 --- a/ext/system/src/main/java/io/xpipe/ext/system/podman/PodmanContainerAttachActionProvider.java +++ b/ext/system/src/main/java/io/xpipe/ext/system/podman/PodmanContainerAttachActionProvider.java @@ -41,7 +41,7 @@ public class PodmanContainerAttachActionProvider implements HubLeafProvider { + public static class Action extends StoreAction { @Override public void executeImpl() throws Exception { diff --git a/ext/system/src/main/java/io/xpipe/ext/system/podman/PodmanContainerInspectActionProvider.java b/ext/system/src/main/java/io/xpipe/ext/system/podman/PodmanContainerInspectActionProvider.java index 9923c9f8c..3f5f9a249 100644 --- a/ext/system/src/main/java/io/xpipe/ext/system/podman/PodmanContainerInspectActionProvider.java +++ b/ext/system/src/main/java/io/xpipe/ext/system/podman/PodmanContainerInspectActionProvider.java @@ -42,7 +42,7 @@ public class PodmanContainerInspectActionProvider implements HubLeafProvider { + public static class Action extends StoreAction { @Override public void executeImpl() throws Exception { diff --git a/ext/system/src/main/java/io/xpipe/ext/system/podman/PodmanContainerLogsActionProvider.java b/ext/system/src/main/java/io/xpipe/ext/system/podman/PodmanContainerLogsActionProvider.java index 84e293cf6..157625a44 100644 --- a/ext/system/src/main/java/io/xpipe/ext/system/podman/PodmanContainerLogsActionProvider.java +++ b/ext/system/src/main/java/io/xpipe/ext/system/podman/PodmanContainerLogsActionProvider.java @@ -42,7 +42,7 @@ public class PodmanContainerLogsActionProvider implements HubLeafProvider { + public static class Action extends StoreAction { @Override public void executeImpl() throws Exception {