From 222cb52d713c47a3e55d59779b333364dcc0cbf4 Mon Sep 17 00:00:00 2001 From: crschnick Date: Thu, 24 Sep 2026 15:47:59 +0000 Subject: [PATCH] Various fixes --- .../app/beacon/api/TerminalLaunchExchange.java | 3 +-- .../app/beacon/api/TerminalPrepareExchange.java | 1 - .../io/xpipe/app/hub/entry/StoreEntryBadge.java | 16 +++++----------- .../app/terminal/TerminalLauncherManager.java | 8 ++++++-- 4 files changed, 12 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/io/xpipe/app/beacon/api/TerminalLaunchExchange.java b/app/src/main/java/io/xpipe/app/beacon/api/TerminalLaunchExchange.java index 005704f8f..534e1bdda 100644 --- a/app/src/main/java/io/xpipe/app/beacon/api/TerminalLaunchExchange.java +++ b/app/src/main/java/io/xpipe/app/beacon/api/TerminalLaunchExchange.java @@ -23,8 +23,7 @@ public class TerminalLaunchExchange extends BeaconInterface { - buildContextMenu(wrapper); - return contextMenu; + return buildContextMenu(wrapper); }); cm.show(button, Side.BOTTOM); } @@ -247,7 +241,7 @@ public interface StoreEntryBadge { Platform.runLater(() -> { var cm = new ContextMenuWrapper(() -> { - return buildContextMenu(addr); + return buildContextMenu(refreshed); }); cm.show(b, Side.BOTTOM); }); diff --git a/app/src/main/java/io/xpipe/app/terminal/TerminalLauncherManager.java b/app/src/main/java/io/xpipe/app/terminal/TerminalLauncherManager.java index 3dedfd170..880e57aa8 100644 --- a/app/src/main/java/io/xpipe/app/terminal/TerminalLauncherManager.java +++ b/app/src/main/java/io/xpipe/app/terminal/TerminalLauncherManager.java @@ -127,7 +127,7 @@ public class TerminalLauncherManager { } } - public static Path launchExchange(UUID request) throws BeaconClientException, BeaconServerException { + public static Path launchExchange(UUID request, Long pid) throws BeaconClientException, BeaconServerException { synchronized (entries) { var e = entries.values().stream() .filter(entry -> entry.getRequest().equals(request)) @@ -158,6 +158,10 @@ public class TerminalLauncherManager { } } + if (pid != null) { + TerminalLauncherManager.verifyPid(request, pid); + } + if (!(e.getResult() instanceof TerminalLaunchResult.ResultSuccess)) { throw new BeaconClientException("Invalid launch request state " + request); } @@ -190,7 +194,7 @@ public class TerminalLauncherManager { var config = new TerminalInitScriptConfig(ref.get().getName(), false, TerminalInitFunction.none()); submitAsync(request, control, config, null); waitExchange(request); - var script = launchExchange(request); + var script = launchExchange(request, null); try (var sc = LocalShell.getShell().start()) { var runCommand = ProcModuleProvider.get() .getEffectiveLocalDialect()