mirror of
https://github.com/xpipe-io/xpipe.git
synced 2024-09-18 21:31:12 +00:00
Fix orphaned connections on load
This commit is contained in:
parent
167d1c1da2
commit
4f1e6ea5f1
|
@ -215,17 +215,26 @@ public class StandardStorage extends DataStorage {
|
||||||
local.setColor(DataStoreColor.BLUE);
|
local.setColor(DataStoreColor.BLUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
callProviders();
|
// Reload stores, this time with all entry refs present
|
||||||
|
// These do however not have a completed validity yet
|
||||||
refreshEntries();
|
refreshEntries();
|
||||||
|
// Bring entries into completed validity if possible
|
||||||
|
// Needed for chained stores
|
||||||
|
refreshEntries();
|
||||||
|
// Let providers work on complete stores
|
||||||
|
callProviders();
|
||||||
|
// Update validaties after any possible changes
|
||||||
|
refreshEntries();
|
||||||
|
// Add any possible missing synthetic parents
|
||||||
storeEntriesSet.forEach(entry -> {
|
storeEntriesSet.forEach(entry -> {
|
||||||
var syntheticParent = getSyntheticParent(entry);
|
var syntheticParent = getSyntheticParent(entry);
|
||||||
syntheticParent.ifPresent(entry1 -> {
|
syntheticParent.ifPresent(entry1 -> {
|
||||||
addStoreEntryIfNotPresent(entry1);
|
addStoreEntryIfNotPresent(entry1);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
// Update validaties from synthetic parent I changes
|
||||||
refreshEntries();
|
refreshEntries();
|
||||||
|
|
||||||
// Save to apply changes
|
|
||||||
if (!hasFixedLocal) {
|
if (!hasFixedLocal) {
|
||||||
storeEntriesSet.removeIf(dataStoreEntry ->
|
storeEntriesSet.removeIf(dataStoreEntry ->
|
||||||
!dataStoreEntry.getUuid().equals(LOCAL_ID) && dataStoreEntry.getStore() instanceof LocalStore);
|
!dataStoreEntry.getUuid().equals(LOCAL_ID) && dataStoreEntry.getStore() instanceof LocalStore);
|
||||||
|
@ -235,6 +244,7 @@ public class StandardStorage extends DataStorage {
|
||||||
entry.dirty = true;
|
entry.dirty = true;
|
||||||
entry.setStoreNode(JacksonMapper.getDefault().valueToTree(entry.getStore()));
|
entry.setStoreNode(JacksonMapper.getDefault().valueToTree(entry.getStore()));
|
||||||
});
|
});
|
||||||
|
// Save to apply changes
|
||||||
save(false);
|
save(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -171,7 +171,11 @@ public class AppJacksonModule extends SimpleModule {
|
||||||
|
|
||||||
// Compatibility fix for legacy local stores
|
// Compatibility fix for legacy local stores
|
||||||
var toUse = e.getStore() instanceof LocalStore ? DataStorage.get().local() : e;
|
var toUse = e.getStore() instanceof LocalStore ? DataStorage.get().local() : e;
|
||||||
return toUse != null ? new DataStoreEntryRef<>(toUse) : null;
|
if (toUse == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return new DataStoreEntryRef<>(toUse);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
1
dist/changelogs/10.2_incremental.md
vendored
1
dist/changelogs/10.2_incremental.md
vendored
|
@ -18,6 +18,7 @@
|
||||||
- Add support for VNC RSA-AES authentication schemes, allowing to connect to more types of VNC servers
|
- Add support for VNC RSA-AES authentication schemes, allowing to connect to more types of VNC servers
|
||||||
- Services can now be opened in a browser using either HTTP or HTTPs
|
- Services can now be opened in a browser using either HTTP or HTTPs
|
||||||
- You can now create shortcuts to automatically forward and open services in a browser
|
- You can now create shortcuts to automatically forward and open services in a browser
|
||||||
|
- Fix doctor containers in some cases not persisting, leaving invalid orphan connections behind on the bottom
|
||||||
- Improve description for service groups
|
- Improve description for service groups
|
||||||
- Publish API libraries to maven central
|
- Publish API libraries to maven central
|
||||||
- Show warning when launching PowerShell in constrained language mode
|
- Show warning when launching PowerShell in constrained language mode
|
||||||
|
|
Loading…
Reference in a new issue