diff --git a/app/src/main/java/io/xpipe/app/storage/DataStoreEntry.java b/app/src/main/java/io/xpipe/app/storage/DataStoreEntry.java index bbfa501c..28f8814f 100644 --- a/app/src/main/java/io/xpipe/app/storage/DataStoreEntry.java +++ b/app/src/main/java/io/xpipe/app/storage/DataStoreEntry.java @@ -29,6 +29,7 @@ public class DataStoreEntry extends StorageElement { Validity validity; @NonFinal + @Setter JsonNode storeNode; @Getter diff --git a/app/src/main/java/io/xpipe/app/storage/StandardStorage.java b/app/src/main/java/io/xpipe/app/storage/StandardStorage.java index 05643800..8608d330 100644 --- a/app/src/main/java/io/xpipe/app/storage/StandardStorage.java +++ b/app/src/main/java/io/xpipe/app/storage/StandardStorage.java @@ -284,6 +284,10 @@ public class StandardStorage extends DataStorage { // Save to apply changes if (!hasFixedLocal) { storeEntries.removeIf(dataStoreEntry -> !dataStoreEntry.getUuid().equals(LOCAL_ID) && dataStoreEntry.getStore() instanceof LocalStore); + storeEntries.stream().filter(entry -> entry.getValidity() != DataStoreEntry.Validity.LOAD_FAILED).forEach(entry -> { + entry.dirty = true; + entry.setStoreNode(DataStorageWriter.storeToNode(entry.getStore())); + }); save(); } diff --git a/dist/changelogs/1.7.1.md b/dist/changelogs/1.7.1.md new file mode 100644 index 00000000..9216c350 --- /dev/null +++ b/dist/changelogs/1.7.1.md @@ -0,0 +1,46 @@ +# Update procedure + +Note that the automatic updater is broken in version 1.6.0. It will freeze the application and not perform the update. **So do not try to click the install button in XPipe**! +You have to install it manually from https://github.com/xpipe-io/xpipe/releases/tag/1.7.0. You can easily do this as uninstalling the old version does not delete any user data. Installing a newer version of XPipe also automatically uninstalls any old ones, so you don't have to manually uninstall it. + +## Changes in 1.7.0 + +### Scripts + +XPipe 1.7 comes with a new scripting system, you now can take your environment everywhere. +The idea is to create modular and reusable init scripts in XPipe that will be run on login but are independent of your profile files. +You can set certain scripts to be executed for every connection, allowing you to create a consistent environment across all remote systems. + +As of now, there is only one set of scripts for enabling starship in your shell connections as a proof of concept. +However, you can contribute custom scripts [here](https://github.com/xpipe-io/xpipe/tree/master/ext/base/src/main/java/io/xpipe/ext/base/script/PredefinedScriptStore.java) and [here](https://github.com/xpipe-io/xpipe/tree/master/ext/base/src/main/resources/io/xpipe/ext/base/resources/scripts). + +### Connection states + +The second big change is a rework of the state system. +This merges the process of validating/refreshing with the process of establishing a connection, allowing for a much faster creation and launch of new connections. +It also enables a custom display and instant updates of the information displayed for a connection. +You will definitely notice this change when you connect to a system. + +### Performance improvements + +The entire storage and UI handling of connections has been reworked to improve performance. +Especially if you're dealing with a large amount of connections, this will be noticeable. + +### Colors + +You can now assign colors to connections for organizational purposes to help in situations when many connections are opened in the file browser and terminals at the same time. +These colors will be shown to identify tabs everywhere within XPipe and also outside of XPipe, for example in terminals. + +### Other changes + +- Codesign executables on Windows +- Fix application not starting up or exiting properly sometimes +- Add support for bsd-based systems +- Fix OPNsense shells timing out +- Make window transparency setting a slider +- Save configuration data more frequently to avoid any data loss +- Fix shutdown error caused by clipboard being inaccessible +- Fix some environment scripts not being sourced correctly +- Fix autoupdater not working properly +- Fix application not exiting properly on SIGTERM +- Many other small miscellaneous fixes and improvements \ No newline at end of file diff --git a/version b/version index 9dbb0c00..081af9a1 100644 --- a/version +++ b/version @@ -1 +1 @@ -1.7.0 \ No newline at end of file +1.7.1 \ No newline at end of file