From 72be31435fb0f26c7ba4c476ce4c2ae85304fe73 Mon Sep 17 00:00:00 2001 From: crschnick Date: Fri, 10 May 2024 09:49:07 +0000 Subject: [PATCH] Small bug fixes --- .../app/browser/file/BrowserFileTransferOperation.java | 6 ++++++ .../io/xpipe/ext/base/desktop/DesktopApplicationStore.java | 1 + .../java/io/xpipe/ext/base/desktop/DesktopCommandStore.java | 1 + .../io/xpipe/ext/base/desktop/DesktopEnvironmentStore.java | 1 + 4 files changed, 9 insertions(+) diff --git a/app/src/main/java/io/xpipe/app/browser/file/BrowserFileTransferOperation.java b/app/src/main/java/io/xpipe/app/browser/file/BrowserFileTransferOperation.java index 34ca7552..0cfc7226 100644 --- a/app/src/main/java/io/xpipe/app/browser/file/BrowserFileTransferOperation.java +++ b/app/src/main/java/io/xpipe/app/browser/file/BrowserFileTransferOperation.java @@ -10,6 +10,7 @@ import io.xpipe.core.store.FileSystem; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import java.nio.file.Files; import java.nio.file.Path; import java.time.Instant; import java.util.LinkedHashMap; @@ -40,12 +41,17 @@ public class BrowserFileTransferOperation { public static BrowserFileTransferOperation ofLocal(FileSystem.FileEntry target, List files, BrowserFileTransferMode transferMode, boolean checkConflicts, Consumer progress) { var entries = files.stream() .map(path -> { + if (!Files.exists(path)) { + return null; + } + try { return LocalFileSystem.getLocalFileEntry(path); } catch (Exception e) { throw new RuntimeException(e); } }) + .filter(entry -> entry != null) .toList(); return new BrowserFileTransferOperation(target, entries, transferMode, checkConflicts, progress); } diff --git a/ext/base/src/main/java/io/xpipe/ext/base/desktop/DesktopApplicationStore.java b/ext/base/src/main/java/io/xpipe/ext/base/desktop/DesktopApplicationStore.java index 530357e9..965dac76 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/desktop/DesktopApplicationStore.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/desktop/DesktopApplicationStore.java @@ -26,6 +26,7 @@ public class DesktopApplicationStore extends JacksonizedValue implements DataSto public void checkComplete() throws Throwable { Validators.nonNull(desktop); Validators.isType(desktop, DesktopBaseStore.class); + desktop.checkComplete(); Validators.nonNull(path); } diff --git a/ext/base/src/main/java/io/xpipe/ext/base/desktop/DesktopCommandStore.java b/ext/base/src/main/java/io/xpipe/ext/base/desktop/DesktopCommandStore.java index 06fc8bfa..dfa8ada7 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/desktop/DesktopCommandStore.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/desktop/DesktopCommandStore.java @@ -24,6 +24,7 @@ public class DesktopCommandStore extends JacksonizedValue implements DataStore, public void checkComplete() throws Throwable { Validators.nonNull(environment); Validators.isType(environment, DesktopEnvironmentStore.class); + environment.checkComplete(); Validators.nonNull(script); } } diff --git a/ext/base/src/main/java/io/xpipe/ext/base/desktop/DesktopEnvironmentStore.java b/ext/base/src/main/java/io/xpipe/ext/base/desktop/DesktopEnvironmentStore.java index 61ddc38b..f0f86d8a 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/desktop/DesktopEnvironmentStore.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/desktop/DesktopEnvironmentStore.java @@ -36,6 +36,7 @@ public class DesktopEnvironmentStore extends JacksonizedValue public void checkComplete() throws Throwable { Validators.nonNull(base); Validators.isType(base, DesktopBaseStore.class); + base.checkComplete(); Validators.nonNull(terminal); Validators.nonNull(dialect); }