mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2026-10-04 16:09:40 +00:00
Fixed AI Studio installing a second copy of itself next to an existing installation (#922)
Build and Release / Read metadata (push) Blocked by required conditions
Build and Release / Sync Flatpak repo (push) Blocked by required conditions
Build and Release / Collect Flatpak artifacts (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-apple-darwin, osx-arm64, macos-latest, aarch64-apple-darwin, dmg,app,updater, dmg) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-pc-windows-msvc.exe, win-arm64, windows-latest, aarch64-pc-windows-msvc, nsis,updater, nsis) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-unknown-linux-gnu, linux-arm64, ubuntu-22.04-arm, aarch64-unknown-linux-gnu, appimage,updater, appimage) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-apple-darwin, osx-x64, macos-latest, x86_64-apple-darwin, dmg,app,updater, dmg) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-pc-windows-msvc.exe, win-x64, windows-latest, x86_64-pc-windows-msvc, nsis,updater, nsis) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-unknown-linux-gnu, linux-x64, ubuntu-22.04, x86_64-unknown-linux-gnu, appimage,updater, appimage) (push) Blocked by required conditions
Build and Release / Prepare & create release (push) Blocked by required conditions
Build and Release / Publish release (push) Blocked by required conditions
Build and Release / Determine run mode (push) Waiting to run
Build and Release / Read metadata (push) Blocked by required conditions
Build and Release / Sync Flatpak repo (push) Blocked by required conditions
Build and Release / Collect Flatpak artifacts (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-apple-darwin, osx-arm64, macos-latest, aarch64-apple-darwin, dmg,app,updater, dmg) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-pc-windows-msvc.exe, win-arm64, windows-latest, aarch64-pc-windows-msvc, nsis,updater, nsis) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-unknown-linux-gnu, linux-arm64, ubuntu-22.04-arm, aarch64-unknown-linux-gnu, appimage,updater, appimage) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-apple-darwin, osx-x64, macos-latest, x86_64-apple-darwin, dmg,app,updater, dmg) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-pc-windows-msvc.exe, win-x64, windows-latest, x86_64-pc-windows-msvc, nsis,updater, nsis) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-unknown-linux-gnu, linux-x64, ubuntu-22.04, x86_64-unknown-linux-gnu, appimage,updater, appimage) (push) Blocked by required conditions
Build and Release / Prepare & create release (push) Blocked by required conditions
Build and Release / Publish release (push) Blocked by required conditions
Build and Release / Determine run mode (push) Waiting to run
This commit is contained in:
1 parent
a26c4d93a4
commit
57c0b59fa5
15 files changed
+828
-24
No files matched your search
@@ -0,0 +1,31 @@
|
||||
namespace AIStudio.Tools.Rust;
|
||||
|
||||
/// <summary>
|
||||
/// Tells whether this installation is able to update itself, and if not, why.
|
||||
/// </summary>
|
||||
public enum InstallationKind
|
||||
{
|
||||
/// <summary>
|
||||
/// An installation the current user owns and which AI Studio may update itself. This is also
|
||||
/// the fallback when the runtime reports a kind we do not know yet.
|
||||
/// </summary>
|
||||
USER,
|
||||
|
||||
/// <summary>
|
||||
/// An installation someone else deployed and maintains, for example, an IT department. Whoever
|
||||
/// deployed it distributes new versions instead.
|
||||
/// </summary>
|
||||
MANAGED,
|
||||
|
||||
/// <summary>
|
||||
/// An installation the current user owns, but which the updater cannot replace. Its owner has
|
||||
/// to install a new version themselves.
|
||||
/// </summary>
|
||||
UNSUPPORTED_LOCATION,
|
||||
|
||||
/// <summary>
|
||||
/// Not an installation at all, but a development build started from a build directory or an
|
||||
/// IDE. There is nothing here the updater could replace.
|
||||
/// </summary>
|
||||
DEVELOPMENT,
|
||||
}
|
||||
@@ -1,3 +1,3 @@
|
||||
namespace AIStudio.Tools.Rust;
|
||||
|
||||
public readonly record struct RuntimeInfoResponse(string WorkingDirectory, string ExecutablePath, string LinuxPackageType);
|
||||
public readonly record struct RuntimeInfoResponse(string WorkingDirectory, string ExecutablePath, string LinuxPackageType, InstallationKind InstallationKind);
|
||||
@@ -11,7 +11,18 @@ public sealed class UpdatePolicy(SettingsManager settingsManager, RuntimeInfoRes
|
||||
: runtimeInfo.LinuxPackageType switch
|
||||
{
|
||||
"flatpak" => UpdatePolicyMode.FLATPAK,
|
||||
_ => UpdatePolicyMode.SELF_UPDATE
|
||||
_ => runtimeInfo.InstallationKind switch
|
||||
{
|
||||
//
|
||||
// The runtime already refuses to update these installations. We mirror its decision
|
||||
// here so that the UI explains the situation instead of offering update actions that
|
||||
// would silently do nothing:
|
||||
//
|
||||
InstallationKind.MANAGED => UpdatePolicyMode.MANAGED_INSTALLATION,
|
||||
InstallationKind.UNSUPPORTED_LOCATION => UpdatePolicyMode.UNSUPPORTED_INSTALLATION_LOCATION,
|
||||
InstallationKind.DEVELOPMENT => UpdatePolicyMode.DEVELOPMENT,
|
||||
_ => UpdatePolicyMode.SELF_UPDATE
|
||||
}
|
||||
};
|
||||
|
||||
public bool AllowsManualChecks => this.CurrentMode is UpdatePolicyMode.SELF_UPDATE;
|
||||
|
||||
@@ -4,5 +4,8 @@ public enum UpdatePolicyMode
|
||||
{
|
||||
SELF_UPDATE,
|
||||
FLATPAK,
|
||||
ENTERPRISE_DISABLED
|
||||
ENTERPRISE_DISABLED,
|
||||
MANAGED_INSTALLATION,
|
||||
UNSUPPORTED_INSTALLATION_LOCATION,
|
||||
DEVELOPMENT,
|
||||
}
|
||||
Reference in new issue
Block a user