From e176286593973b0dfa019f5404c34afa037a6bca Mon Sep 17 00:00:00 2001 From: crschnick Date: Thu, 23 Jul 2026 05:13:56 +0000 Subject: [PATCH] Rework --- .../main/java/io/xpipe/app/storage/DataStorage.java | 11 +++++++++++ .../io/xpipe/app/storage/DataStorageMigration.java | 8 ++++++++ 2 files changed, 19 insertions(+) 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 af10a72f4..5d25a8448 100644 --- a/app/src/main/java/io/xpipe/app/storage/DataStorage.java +++ b/app/src/main/java/io/xpipe/app/storage/DataStorage.java @@ -1337,6 +1337,17 @@ public abstract class DataStorage { return children; } + public void migrate() { + var ordered = storeEntriesSet.stream().sorted(Comparator.comparingInt( + entry -> entry.getOrderIndex()).reversed() + .thenComparing(entry -> entry.getLastModified()).reversed()) + .toList(); + for (int i = 0; i < ordered.size(); i++) { + var entry = ordered.get(i); + entry.setOrderIndex(i + 1); + } + } + public List getCategoryParentHierarchy(DataStoreCategory cat) { var es = new ArrayList(); es.add(cat); diff --git a/app/src/main/java/io/xpipe/app/storage/DataStorageMigration.java b/app/src/main/java/io/xpipe/app/storage/DataStorageMigration.java index 95587b6f1..e5703f2e6 100644 --- a/app/src/main/java/io/xpipe/app/storage/DataStorageMigration.java +++ b/app/src/main/java/io/xpipe/app/storage/DataStorageMigration.java @@ -4,7 +4,9 @@ import io.xpipe.app.core.AppCache; import io.xpipe.app.core.AppProperties; import io.xpipe.app.core.AppVersion; import io.xpipe.app.issue.ErrorEventFactory; +import io.xpipe.app.prefs.AppPrefs; import io.xpipe.app.secret.EncryptionToken; +import lombok.Data; import java.io.IOException; import java.nio.file.Files; @@ -76,6 +78,8 @@ public class DataStorageMigration { .handle(); } + DataStorage.get().migrate(); + EncryptionToken.invalidateTokens(); EncryptionToken.setMigratedVaultToken(true); @@ -84,9 +88,13 @@ public class DataStorageMigration { getStorage().forceRewrite(); getStorage().save(false); + AppPrefs.get().save(); + var versionFile = dir.resolve("vaultversion"); Files.writeString(versionFile, AppProperties.get().getCanonicalVersion().map(appVersion -> appVersion.toString()).orElse("23.9")); AppCache.update("vaultMigrated", true); + + DataStorage.get().pushManually(); } }