From ce8791dc385495df79d32c8af15c8783e07dd79b Mon Sep 17 00:00:00 2001 From: crschnick Date: Mon, 9 Feb 2026 08:33:33 +0000 Subject: [PATCH] Revert split hub action provider to not be async --- .../impl/OpenSplitHubBatchProvider.java | 39 +++++++------------ 1 file changed, 14 insertions(+), 25 deletions(-) diff --git a/app/src/main/java/io/xpipe/app/hub/action/impl/OpenSplitHubBatchProvider.java b/app/src/main/java/io/xpipe/app/hub/action/impl/OpenSplitHubBatchProvider.java index 7a5759f0b..b86b912b3 100644 --- a/app/src/main/java/io/xpipe/app/hub/action/impl/OpenSplitHubBatchProvider.java +++ b/app/src/main/java/io/xpipe/app/hub/action/impl/OpenSplitHubBatchProvider.java @@ -12,17 +12,15 @@ import io.xpipe.app.prefs.AppPrefs; import io.xpipe.app.storage.DataStorage; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.terminal.*; -import io.xpipe.app.util.ThreadHelper; import javafx.beans.value.ObservableValue; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; -import java.util.Arrays; +import java.util.ArrayList; import java.util.List; import java.util.UUID; -import java.util.concurrent.CountDownLatch; public class OpenSplitHubBatchProvider implements BatchHubProvider { @@ -67,30 +65,21 @@ public class OpenSplitHubBatchProvider implements BatchHubProvider { throw ErrorEventFactory.expected(new IllegalStateException(AppI18n.get("noTerminalSet"))); } - var latch = new CountDownLatch(getRefs().size()); - var panes = new TerminalLauncher.Config[getRefs().size()]; - for (int i = 0; i < getRefs().size(); i++) { - var ii = i; - var ref = refs.get(i); - ThreadHelper.runFailableAsync(() -> { - try { - var replacement = ProcessControlProvider.get().replace(ref); - ShellStore store = replacement.getStore().asNeeded(); - var control = store.standaloneControl(); - // These prepend scripts, not append - TerminalPromptManager.configurePromptScript(control); - ProcessControlProvider.get().withDefaultScripts(control); + var panes = new ArrayList(); + for (DataStoreEntryRef ref : getRefs()) { + var replacement = ProcessControlProvider.get().replace(ref); + ShellStore store = replacement.getStore().asNeeded(); + var control = store.standaloneControl(); + // These prepend scripts, not append + TerminalPromptManager.configurePromptScript(control); + ProcessControlProvider.get().withDefaultScripts(control); - var title = DataStorage.get().getStoreEntryDisplayName(ref.get()); - var config = new TerminalLauncher.Config( - ref.get(), title, null, UUID.randomUUID(), true, true, control); - panes[ii] = config; - } finally { - latch.countDown(); - } - }); + var title = DataStorage.get().getStoreEntryDisplayName(ref.get()); + var config = + new TerminalLauncher.Config(ref.get(), title, null, UUID.randomUUID(), true, true, control); + panes.add(config); } - TerminalLauncher.open(Arrays.asList(panes), true, type); + TerminalLauncher.open(panes, true, type); } } }