From 8cda9ac70b7a603e4ffdd9e4e765e1b56dcb90a0 Mon Sep 17 00:00:00 2001 From: crschnick Date: Thu, 7 Aug 2025 15:01:29 +0000 Subject: [PATCH] Rework --- .../main/java/io/xpipe/app/core/mode/OperationMode.java | 8 ++++++++ app/src/main/java/io/xpipe/app/storage/DataStorage.java | 4 ++++ dist/changelogs/18.0.md | 1 + lang/strings/translations_de.properties | 3 ++- lang/strings/translations_en.properties | 1 + lang/strings/translations_ru.properties | 2 +- 6 files changed, 17 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/io/xpipe/app/core/mode/OperationMode.java b/app/src/main/java/io/xpipe/app/core/mode/OperationMode.java index 0a89597b5..122b8617a 100644 --- a/app/src/main/java/io/xpipe/app/core/mode/OperationMode.java +++ b/app/src/main/java/io/xpipe/app/core/mode/OperationMode.java @@ -94,6 +94,14 @@ public abstract class OperationMode { return; } + // There are some accessibility exceptions on macOS, nothing we can do about that + if (Platform.isFxApplicationThread() && ex instanceof NullPointerException && ex.getMessage() != null && ex.getMessage().contains("Accessible")) { + ErrorEventFactory.fromThrowable(ex).expected() + .descriptionPrefix("An error occurred with the Accessibility implementation. A screen reader might not be supported right now") + .build().handle(); + return; + } + // Handle any startup uncaught errors if (OperationMode.isInStartup() && thread.threadId() == 1) { ex.printStackTrace(); diff --git a/app/src/main/java/io/xpipe/app/storage/DataStorage.java b/app/src/main/java/io/xpipe/app/storage/DataStorage.java index 22c76defc..23b30984a 100644 --- a/app/src/main/java/io/xpipe/app/storage/DataStorage.java +++ b/app/src/main/java/io/xpipe/app/storage/DataStorage.java @@ -720,6 +720,10 @@ public abstract class DataStorage { var s = pair.getKey().getStorePersistentState(); var mergedState = s.mergeCopy(pair.getValue().get().getStorePersistentState()); pair.getKey().setStorePersistentState(mergedState); + + if (pair.getKey().getOrderIndex() == 0 && pair.getValue().get().getOrderIndex() != 0) { + pair.getKey().setOrderIndex(pair.getValue().get().getOrderIndex()); + } }); refreshEntries(); saveAsync(); diff --git a/dist/changelogs/18.0.md b/dist/changelogs/18.0.md index 5fb242d93..b2acc3a09 100644 --- a/dist/changelogs/18.0.md +++ b/dist/changelogs/18.0.md @@ -25,6 +25,7 @@ You can now configure multiple addresses for a host. This allows you to quickly - Improve vscode launch menu to be more compact - Add support to launch VsCode Insiders and Trae as well in the vscode launch menu - Disable SSH host key checking for local network devices +- Proxmox entries are now ordered by their vmid ## Fixes diff --git a/lang/strings/translations_de.properties b/lang/strings/translations_de.properties index 8b5489683..50cc7881b 100644 --- a/lang/strings/translations_de.properties +++ b/lang/strings/translations_de.properties @@ -1395,7 +1395,8 @@ categoryConfirmAllModificationsDescription=Bestätige jede Art von Änderung an categoryDefaultIdentity=Standard-Identität categoryDefaultIdentityDescription=Wenn du häufig eine bestimmte Identität auf vielen der Systeme in dieser Kategorie verwendest, kannst du eine Standardidentität festlegen, die du beim Erstellen neuer Verbindungen vorauswählen kannst. categoryConfigTitle=$NAME$ konfiguration -configure=Konfigurieren Sie +#custom +configure=Konfigurieren addConnection=Verbindung hinzufügen noCompatibleConnection=Keine kompatible Verbindung gefunden newCategory=Neue Kategorie diff --git a/lang/strings/translations_en.properties b/lang/strings/translations_en.properties index e5cf00ed9..51cdc6345 100644 --- a/lang/strings/translations_en.properties +++ b/lang/strings/translations_en.properties @@ -1429,6 +1429,7 @@ categoryConfirmAllModificationsDescription=Confirm any kind of modification for categoryDefaultIdentity=Default identity categoryDefaultIdentityDescription=If you frequently use a certain identity on many of the systems in this category, then setting a default identity will allow you to preselect it when creating new connections. categoryConfigTitle=$NAME$ configuration +#context: verb configure=Configure addConnection=Add connection noCompatibleConnection=No compatible connection found diff --git a/lang/strings/translations_ru.properties b/lang/strings/translations_ru.properties index 5ac3a72e9..0cda358cb 100644 --- a/lang/strings/translations_ru.properties +++ b/lang/strings/translations_ru.properties @@ -1363,7 +1363,7 @@ categoryConfirmAllModificationsDescription=Любые изменения в со categoryDefaultIdentity=Идентификация по умолчанию categoryDefaultIdentityDescription=Если ты часто используешь определенный идентификатор на многих системах из этой категории, то установка идентификатора по умолчанию позволит тебе заранее выбирать его при создании новых подключений. categoryConfigTitle=$NAME$ конфигурация -configure=Настройте +configure=Настрой addConnection=Добавить соединение noCompatibleConnection=Не найдено совместимое соединение newCategory=Новая категория