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);