From 3c13cf5e2a64ec3cd3dc6db37b278e2c52c5c524 Mon Sep 17 00:00:00 2001 From: crschnick Date: Sat, 22 Mar 2025 14:53:26 +0000 Subject: [PATCH] Improve tab init fail handling --- .../io/xpipe/app/browser/BrowserAbstractSessionModel.java | 3 +++ .../java/io/xpipe/app/browser/file/BrowserFileListComp.java | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/io/xpipe/app/browser/BrowserAbstractSessionModel.java b/app/src/main/java/io/xpipe/app/browser/BrowserAbstractSessionModel.java index 41bb00a4e..c11465482 100644 --- a/app/src/main/java/io/xpipe/app/browser/BrowserAbstractSessionModel.java +++ b/app/src/main/java/io/xpipe/app/browser/BrowserAbstractSessionModel.java @@ -24,6 +24,9 @@ public class BrowserAbstractSessionModel { public void closeAsync(BrowserSessionTab e) { ThreadHelper.runAsync(() -> { + // This is a bit ugly + // If we die on tab init, wait a bit with closing to avoid removal while it is still being inited/added + ThreadHelper.sleep(100); closeSync(e); }); } diff --git a/app/src/main/java/io/xpipe/app/browser/file/BrowserFileListComp.java b/app/src/main/java/io/xpipe/app/browser/file/BrowserFileListComp.java index d141f1969..650609d40 100644 --- a/app/src/main/java/io/xpipe/app/browser/file/BrowserFileListComp.java +++ b/app/src/main/java/io/xpipe/app/browser/file/BrowserFileListComp.java @@ -156,8 +156,8 @@ public final class BrowserFileListComp extends SimpleComp { var os = fileList.getFileSystemModel() .getFileSystem() .getShell() - .orElseThrow() - .getOsType(); + .map(shellControl -> shellControl.getOsType()) + .orElse(null); table.widthProperty().subscribe((newValue) -> { if (os != OsType.WINDOWS && os != OsType.MACOS) { ownerCol.setVisible(newValue.doubleValue() > 1000);