From 41f40172dec4560239ef1ea7bf5b4636328014e8 Mon Sep 17 00:00:00 2001 From: crschnick Date: Fri, 27 Jun 2025 02:28:13 +0000 Subject: [PATCH] Fixes for v17 compat --- .../io/xpipe/app/util/AppJacksonModule.java | 23 ++++++++++++------ build.gradle | 24 ++++++++----------- dist/changelogs/16.7_incremental.md | 3 ++- 3 files changed, 28 insertions(+), 22 deletions(-) diff --git a/app/src/main/java/io/xpipe/app/util/AppJacksonModule.java b/app/src/main/java/io/xpipe/app/util/AppJacksonModule.java index d4184bf76..f605586e9 100644 --- a/app/src/main/java/io/xpipe/app/util/AppJacksonModule.java +++ b/app/src/main/java/io/xpipe/app/util/AppJacksonModule.java @@ -233,14 +233,23 @@ public class AppJacksonModule extends SimpleModule { @Override public DataStoreEntryRef deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { - var obj = (ObjectNode) p.getCodec().readTree(p); - if (!obj.has("storeId") || !obj.required("storeId").isTextual()) { - return null; - } + JsonNode tree = p.getCodec().readTree(p); + String text; + if (tree.isObject()) { + var obj = (ObjectNode) tree; + if (!obj.has("storeId") || !obj.required("storeId").isTextual()) { + return null; + } - var text = obj.required("storeId").asText(); - if (text.isBlank()) { - return null; + text = obj.required("storeId").asText(); + if (text.isBlank()) { + return null; + } + } else { + if (!tree.isTextual()) { + return null; + } + text = tree.asText(); } var id = UUID.fromString(text); diff --git a/build.gradle b/build.gradle index 9a3df0e20..0a5189e95 100644 --- a/build.gradle +++ b/build.gradle @@ -167,22 +167,18 @@ project.ext { jvmRunArgs += ['-XX:+UnlockExperimentalVMOptions', '-XX:+UseCompactObjectHeaders'] // Reduce heap usage with deduplication - jvmRunArgs += ['-XX:+UseStringDeduplication',] + jvmRunArgs += ['-XX:+UseStringDeduplication'] // GC config - jvmRunArgs += [ - '-XX:+UseG1GC', - // Resizing heap is costly - // Make sure that heap is not resized on startup at least - '-Xms500m', - '-Xmx4G', - '-XX:MinHeapFreeRatio=15', - '-XX:MaxHeapFreeRatio=25', - '-XX:GCTimeRatio=9', - // This is very important for some older Windows systems - // The default makes GC pauses longer for some reason - '-XX:G1HeapRegionSize=4m' - ]; + jvmRunArgs += ['-XX:+UseG1GC', + '-Xms300m', + '-Xmx4G', + '-XX:MinHeapFreeRatio=20', + '-XX:MaxHeapFreeRatio=30', + '-XX:GCTimeRatio=9', + // The default makes GC pauses longer for some reason + '-XX:G1HeapRegionSize=4m' + ] // Fix platform theme detection on macOS if (os.isMacOsX()) { diff --git a/dist/changelogs/16.7_incremental.md b/dist/changelogs/16.7_incremental.md index 14e7ace86..be62c4983 100644 --- a/dist/changelogs/16.7_incremental.md +++ b/dist/changelogs/16.7_incremental.md @@ -1,3 +1,4 @@ -- Fix startup speed regression introduced in 16.0 +- Compatibility fixes in preparation for schema changes in XPipe 17. This update makes sure that vaults used in v17 installations can still be opened in v16 installations +- Fix file list in browser size sorting comparing alphabetically instead of using the raw size integer - Fix connection search freezing on Ubuntu systems with LXD snap stub installed - Fix file browser listing not working for older PowerShell systems