diff --git a/app/src/main/java/io/xpipe/app/hub/creation/StoreCreationDialog.java b/app/src/main/java/io/xpipe/app/hub/creation/StoreCreationDialog.java index 68f86bed1..c36dc68c7 100644 --- a/app/src/main/java/io/xpipe/app/hub/creation/StoreCreationDialog.java +++ b/app/src/main/java/io/xpipe/app/hub/creation/StoreCreationDialog.java @@ -11,6 +11,7 @@ import io.xpipe.app.hub.list.StoreViewState; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.platform.PlatformThread; import io.xpipe.app.prefs.AppPrefs; +import io.xpipe.app.secret.DataStorageAccessHandler; import io.xpipe.app.storage.DataStorage; import io.xpipe.app.storage.DataStoreEntry; import io.xpipe.app.store.DataStore; @@ -155,6 +156,10 @@ public class StoreCreationDialog { StoreCreationConsumer con, boolean staticDisplay, DataStoreEntry existingEntry) { + if (!DataStorageAccessHandler.getInstance().isAccessible()) { + throw ErrorEventFactory.expected(new IllegalStateException("Current vault encryption is not accessible. Vault data can't be modified in this state")); + } + var ex = StoreCreationQueueEntry.findExisting(existingEntry); if (ex.isPresent()) { ex.get().execute(); diff --git a/app/src/main/java/io/xpipe/app/issue/ErrorHandlerDialog.java b/app/src/main/java/io/xpipe/app/issue/ErrorHandlerDialog.java index 02b2e52e0..fcf8c9f10 100644 --- a/app/src/main/java/io/xpipe/app/issue/ErrorHandlerDialog.java +++ b/app/src/main/java/io/xpipe/app/issue/ErrorHandlerDialog.java @@ -34,7 +34,7 @@ public class ErrorHandlerDialog { var comp = new ErrorHandlerComp(event, () -> { AppDialog.hide(modal.get()); }); - comp.prefWidth(event.getThrowable() != null ? 600 : 500); + comp.prefWidth(600); var headerId = event.isTerminal() ? "terminalErrorOccurred" : "errorOccurred"; var errorModal = ModalOverlay.of(headerId, comp, new LabelGraphic.NodeGraphic(() -> { var graphic = new FontIcon("mdomz-warning"); diff --git a/app/src/main/java/io/xpipe/app/storage/DataStoreAccessScope.java b/app/src/main/java/io/xpipe/app/storage/DataStoreAccessScope.java index 15b67fce2..c091e5441 100644 --- a/app/src/main/java/io/xpipe/app/storage/DataStoreAccessScope.java +++ b/app/src/main/java/io/xpipe/app/storage/DataStoreAccessScope.java @@ -57,7 +57,12 @@ public class DataStoreAccessScope { var handler = DataStorageAccessHandler.getInstance(); var vaultPrincipal = handler.getFallbackPrincipal(); + var encryptPrincipal = handler.getEncryptAllPrincipal(); + // If we can't access the encryption principal, just keep it + if (!encryptPrincipal.isAccessible()) { + return principal; + } var isVault = vaultPrincipal.equals(principal); var exists = handler.getAllEncryptionPrincipals().contains(principal);