mirror of
https://github.com/xpipe-io/xpipe.git
synced 2026-04-22 23:49:09 -04:00
Fixes [stage]
This commit is contained in:
@@ -112,57 +112,57 @@ public enum XPipeDistributionType {
|
||||
return WEBTOP;
|
||||
}
|
||||
|
||||
try (var sc = LocalShell.getShell().start()) {
|
||||
// In theory, we can also add && !AppProperties.get().isStaging() here, but we want to replicate the
|
||||
// production behavior
|
||||
if (OsType.getLocal().equals(OsType.WINDOWS)) {
|
||||
var out = sc.command("choco search --local-only -r xpipe").readStdoutIfPossible();
|
||||
if (out.isPresent()) {
|
||||
var split = out.get().split("\\|");
|
||||
if (split.length == 2) {
|
||||
var version = split[1];
|
||||
if (AppProperties.get().getVersion().equals(version)) {
|
||||
return CHOCO;
|
||||
try (var sc = LocalShell.getShell().start()) {
|
||||
// In theory, we can also add && !AppProperties.get().isStaging() here, but we want to replicate the
|
||||
// production behavior
|
||||
if (OsType.getLocal().equals(OsType.WINDOWS)) {
|
||||
var out = sc.command("choco search --local-only -r xpipe").readStdoutIfPossible();
|
||||
if (out.isPresent()) {
|
||||
var split = out.get().split("\\|");
|
||||
if (split.length == 2) {
|
||||
var version = split[1];
|
||||
if (AppProperties.get().getVersion().equals(version)) {
|
||||
return CHOCO;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// In theory, we can also add && !AppProperties.get().isStaging() here, but we want to replicate the
|
||||
// production behavior
|
||||
if (OsType.getLocal().equals(OsType.MACOS)) {
|
||||
var out = sc.command("brew list --casks --versions").readStdoutIfPossible();
|
||||
if (out.isPresent()) {
|
||||
if (out.get().lines().anyMatch(s -> {
|
||||
var split = s.split(" ");
|
||||
return split.length == 2
|
||||
&& split[0].equals("xpipe")
|
||||
&& split[1].equals(AppProperties.get().getVersion());
|
||||
})) {
|
||||
return HOMEBREW;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (OsType.getLocal() == OsType.LINUX) {
|
||||
var aptOut = sc.command("apt show xpipe").readStdoutIfPossible();
|
||||
if (aptOut.isPresent()) {
|
||||
var fromRepo = aptOut.get().lines().anyMatch(s -> {
|
||||
return s.contains("APT-Sources") && s.contains("apt.xpipe.io");
|
||||
});
|
||||
if (fromRepo) {
|
||||
return APT_REPO;
|
||||
// In theory, we can also add && !AppProperties.get().isStaging() here, but we want to replicate the
|
||||
// production behavior
|
||||
if (OsType.getLocal().equals(OsType.MACOS)) {
|
||||
var out = sc.command("brew list --casks --versions").readStdoutIfPossible();
|
||||
if (out.isPresent()) {
|
||||
if (out.get().lines().anyMatch(s -> {
|
||||
var split = s.split(" ");
|
||||
return split.length == 2 && split[0].equals("xpipe") && split[1].equals(AppProperties.get().getVersion());
|
||||
})) {
|
||||
return HOMEBREW;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var yumRepo = sc.command(CommandBuilder.of().add("test", "-f").addFile("/etc/yum.repos.d/xpipe.repo")).executeAndCheck();
|
||||
if (yumRepo) {
|
||||
return RPM_REPO;
|
||||
if (OsType.getLocal() == OsType.LINUX) {
|
||||
if (base.startsWith("/opt")) {
|
||||
var aptOut = sc.command("apt show xpipe").readStdoutIfPossible();
|
||||
if (aptOut.isPresent()) {
|
||||
var fromRepo = aptOut.get().lines().anyMatch(s -> {
|
||||
return s.contains("APT-Sources") && s.contains("apt.xpipe.io");
|
||||
});
|
||||
if (fromRepo) {
|
||||
return APT_REPO;
|
||||
}
|
||||
}
|
||||
|
||||
var yumRepo = sc.command(CommandBuilder.of().add("test", "-f").addFile("/etc/yum.repos.d/xpipe.repo")).executeAndCheck();
|
||||
if (yumRepo) {
|
||||
return RPM_REPO;
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
ErrorEvent.fromThrowable(ex).handle();
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
ErrorEvent.fromThrowable(ex).handle();
|
||||
}
|
||||
|
||||
return XPipeDistributionType.NATIVE_INSTALLATION;
|
||||
}
|
||||
|
||||
40
dist/changelogs/15.0.md
vendored
40
dist/changelogs/15.0.md
vendored
@@ -1,4 +1,4 @@
|
||||
Note that the installation data layout has been changed and executables have been moved around. This will break some shortcuts and the old restart functionality after an update. So if you're updating from within XPipe, it won't automatically restart for this update.
|
||||
XPipe 15 comes with many new features, performance improvements, and many bug fixes. Note that the installation data layout has been changed and executables have been moved around. This will break some shortcuts and the old restart functionality after an update. So if you're updating from within XPipe, it won't automatically restart for this update.
|
||||
|
||||
## Tailscale support
|
||||
|
||||
@@ -6,7 +6,7 @@ You can now connect to devices in your tailnet via your locally installed tailsc
|
||||
|
||||
## Custom icons
|
||||
|
||||
You can now add custom icons to use for your connections. This implementation replaces the old model of shipping the icons from https://github.com/selfhst/icons along XPipe. Instead, you can now dynamically add sources of icons. This can either be a local directory or a remote git repository that can be cloned and pulled by xpipe. XPipe will pick up any .svg files in there, rasterize them to cached .pngs, and display them in XPipe. As default icon sources, it will still come with https://github.com/selfhst/icons, but now it will fetch these icons at runtime. If you are using the git vault, you can also add icons to a synced directory in your git vault to have access to them on all systems.
|
||||
You can now add custom icons to use for your connections. This implementation replaces the old model of shipping the icons from https://github.com/selfhst/icons along XPipe. Instead, you can now dynamically add sources of icons. This can either be a local directory or a remote git repository that can be cloned and pulled by xpipe. XPipe will pick up any .svg files in there, rasterize them to cached .pngs, and display them in XPipe. As default icon sources, it will still come with https://github.com/selfhst/icons, but now it can fetch these icons at runtime. If you are using the git vault, you can also add icons to a synced directory in your git vault to have access to them on all systems.
|
||||
|
||||
Your existing custom icons set for connections are not lost, it just requires you to first update the icons and then restart XPipe.
|
||||
|
||||
@@ -14,11 +14,7 @@ Your existing custom icons set for connections are not lost, it just requires yo
|
||||
|
||||
There is now an apt repository available at https://apt.xpipe.io and an rpm repository available at https://rpm.xpipe.io. You can add them as sources to apt or your rpm-based package manager. This allows you to also install and upgrade xpipe via your native package manager instead of using the built-in self-updater.
|
||||
|
||||
## PuTTY import
|
||||
|
||||
You can now import saved PuTTY sessions on a system when searching for available connections. This also works for KiTTY.
|
||||
|
||||
## New documentation
|
||||
## New docs
|
||||
|
||||
There is a new documentation site https://docs.xpipe.io. The goal is to expand this overtime to provide proper documentation for many features. If you're looking for documentation for a certain feature, let me know.
|
||||
|
||||
@@ -28,41 +24,41 @@ There is a new documentation site https://docs.xpipe.io. The goal is to expand t
|
||||
- Improve performance when having many connections and categories
|
||||
- Add new action to run scripts in the file browser and show their output without having to open a terminal
|
||||
- The Homelab/Pro preview for new features is now handled automatically, you don't have to enable it anymore
|
||||
- You can now import saved PuTTY sessions on a system when searching for available connections. This also works for KiTTY
|
||||
- The custom service command opener will now use \$PORT instead of \$ADDRESS to allow for the use of commands that have a separate port argument
|
||||
- Add support for Gnome Console / KGX Terminal
|
||||
|
||||
## Fixes
|
||||
|
||||
- Fix desktop shortcuts not launching actions properly
|
||||
- Fix git sync SSH key password always prompting, even if it is specified in place
|
||||
- Fix some tsh connections not working properly
|
||||
- Fix user interface not being responsive for a few seconds after launch
|
||||
- Fix VSCode open actions not showing if code executable was not in PATH
|
||||
- Fix startup failure on Windows systems when vcredist140.dll was missing
|
||||
- Fix various issues with shells to Android systems
|
||||
- Fix user interface not being responsive for a few seconds after launch
|
||||
- Fix issues on Linux systems where language en_US.UTF-8 was not available
|
||||
- Fix docked file browser terminal staying ahead of other windows even if XPipe loses focus
|
||||
- Fix permission denied errors on terminal launch when file system had noexec flag set
|
||||
- Fix double sudo prompt when elevating to root in file browser
|
||||
- Fix file browser shift selection not marking selected files
|
||||
- Fix file browser yellow keyboard focus indicator showing after typing path
|
||||
- Fix ssh service tunnel sometimes failing with a timeout on close
|
||||
- Fix modal dialogs flickering a bit
|
||||
- Fix some icons resetting on updates
|
||||
- Fix desktop shortcuts not launching actions properly
|
||||
- Fix teleport integration failing for newer teleport versions
|
||||
- Fix git sync SSH key password always prompting, even if it is specified in place
|
||||
- Fix creation dialog for scripts and identities still referring to the name as connection name
|
||||
- Fix password prompts for tunneled VM SSH connections showing wrong hostname as localhost
|
||||
- Fix some translations not updating when changing display language
|
||||
- Fix teleport integration failing for newer teleport versions
|
||||
- Fix ssh service tunnel sometimes failing with a timeout on close
|
||||
- Fix double sudo prompt when elevating to root in file browser
|
||||
- Fix file browser yellow keyboard focus indicator showing after typing path
|
||||
- Fix some icons resetting on updates
|
||||
- Fix issues on Linux systems where language en_US.UTF-8 was not available
|
||||
- Fix Windows Terminal start up failing if it was the first time that it was launched on the system
|
||||
- Fix modal dialogs flickering a bit
|
||||
- Fix some translations not updating when changing display language
|
||||
- Fix custom service open command not working properly with PowerShell
|
||||
- Fix shortcut actions not running when daemon had to be started first
|
||||
- Fix browser directory list entering endless loop if directory contained symlink to itself
|
||||
- Fix browser shift selection not marking selected files
|
||||
- Fix certain actions like RDP failing when XPipe was launched from pwsh
|
||||
- Fix terminal selection defaulting to Wave if no other terminal is found
|
||||
- Fix docked file browser terminal staying ahead of other windows even if XPipe loses focus
|
||||
- Fix vault version incompatibility notice only offering to disable the git sync
|
||||
- Fix several cases where adding/deleting vault users would corrupt vault data
|
||||
- Fix vault user encryption settings not updating properly
|
||||
- Fix shell init scripts being run multiple times when background shell session was active
|
||||
- Fix restart button not working for custom workspace locations
|
||||
- Fix git readme list updating each time when using a different vault user
|
||||
- Fix permission denied errors on terminal launch when file system had noexec flag set
|
||||
- Fix installation type detection being wrong when using installer and portable installation side by side
|
||||
|
||||
@@ -98,7 +98,6 @@ open module io.xpipe.ext.base {
|
||||
CustomServiceStoreProvider,
|
||||
MappedServiceStoreProvider,
|
||||
FixedServiceStoreProvider,
|
||||
ServiceControlStoreProvider,
|
||||
SimpleScriptStoreProvider,
|
||||
DesktopApplicationStoreProvider,
|
||||
LocalIdentityStoreProvider,
|
||||
|
||||
Reference in New Issue
Block a user