Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
a35a3ae
Align package broker requests with the broker's request validation
CBenoit Oct 2, 2026
538d753
Check the same broker request values in the options dialog and the op…
CBenoit Oct 2, 2026
1e2b9af
Keep broker notices and notifications accurate
CBenoit Oct 2, 2026
75688c3
Send only request fields the broker accepts
CBenoit Oct 2, 2026
853cc13
Merge remote-tracking branch 'origin/main' into cbenoit-package-broke…
CBenoit Oct 2, 2026
716d226
Announce broker notices through the shared live region
CBenoit Oct 2, 2026
b26f7c3
Apply the broker API's universal field bounds before sending requests
CBenoit Oct 2, 2026
a91d171
Drop blank custom parameters from broker requests
CBenoit Oct 2, 2026
0263201
Point validation failures at every way to fix them
CBenoit Oct 2, 2026
ffe4304
Preview every request-blocking problem in the options dialog
CBenoit Oct 2, 2026
ebe85cf
Localize the command-line safety guards of broker requests
CBenoit Oct 2, 2026
63eb30d
Validate elevation-dependent broker rules and keep forbidden reasons
CBenoit Oct 2, 2026
8e48d94
Treat refused capabilities as an authorization failure and refresh on…
CBenoit Oct 2, 2026
1377556
Report PowerShell command conflicts instead of an unsupported retry
CBenoit Oct 2, 2026
72852d0
Apply manager elevation requirements before previewing broker rules
CBenoit Oct 2, 2026
50d8e6f
Ignore blank arguments in the WinGet warning and isolate elevation in…
CBenoit Oct 2, 2026
e8fc724
Mirror per-manager broker option rules
CBenoit Oct 2, 2026
2cd4ff1
Check close-app entries in the live broker preview
CBenoit Oct 2, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 68 additions & 2 deletions src/Languages/lang_en.json
Original file line number Diff line number Diff line change
Expand Up @@ -1206,6 +1206,74 @@
"Automatic updates": "Automatic updates",
"Here you can change UniGetUI's behaviour regarding the following shortcuts. Checking a shortcut will make UniGetUI delete it if if gets created on a future upgrade. Unchecking it will keep the shortcut intact": "Here you can change UniGetUI's behaviour regarding the following shortcuts. Checking a shortcut will make UniGetUI delete it if gets created on a future upgrade. Unchecking it will keep the shortcut intact",
"Agent broker unavailable": "Agent broker unavailable",
"These options cannot be used through the Devolutions Agent, which will refuse the operation:": "These options cannot be used through the Devolutions Agent, which will refuse the operation:",
"--override and --custom pass arbitrary arguments to the package installer. Through the Devolutions Agent, the installer can run with administrator rights, so your organization's policy may block these arguments.": "--override and --custom pass arbitrary arguments to the package installer. Through the Devolutions Agent, the installer can run with administrator rights, so your organization's policy may block these arguments.",
"Custom arguments are passed to WinGet by the Devolutions Agent, which runs this operation with administrator rights. Your organization's policy may block custom arguments.": "Custom arguments are passed to WinGet by the Devolutions Agent, which runs this operation with administrator rights. Your organization's policy may block custom arguments.",
"Only an administrator running with elevated rights can change the package broker policy. No changes were saved.": "Only an administrator running with elevated rights can change the package broker policy. No changes were saved.",
"Devolutions Agent only accepts policy changes from signed, unmodified copies of UniGetUI. No changes were saved.": "Devolutions Agent only accepts policy changes from signed, unmodified copies of UniGetUI. No changes were saved.",
"Your organization's package policy does not allow this operation.": "Your organization's package policy does not allow this operation.",
"Reason: {0}": "Reason: {0}",
"Policy rule: {0}": "Policy rule: {0}",
"Contact your administrator if you need this operation to be allowed.": "Contact your administrator if you need this operation to be allowed.",
"The package broker cannot accept this request": "The package broker cannot accept this request",
"The Devolutions Agent would reject the following options of this operation:": "The Devolutions Agent would reject the following options of this operation:",
"Adjust the installation options of this package, or choose another package or source, then try again.": "Adjust the installation options of this package, or choose another package or source, then try again.",
"UniGetUI is not authorized to use the Devolutions Agent": "UniGetUI is not authorized to use the Devolutions Agent",
"The Devolutions Agent only accepts requests from signed, unmodified copies of UniGetUI. If you are running a development or self-built version, install an official release of UniGetUI and try again.": "The Devolutions Agent only accepts requests from signed, unmodified copies of UniGetUI. If you are running a development or self-built version, install an official release of UniGetUI and try again.",
"Administrator rights are required": "Administrator rights are required",
"The Devolutions Agent only accepts this request from an administrator running with elevated rights.": "The Devolutions Agent only accepts this request from an administrator running with elevated rights.",
"The Devolutions Agent is busy": "The Devolutions Agent is busy",
"The Devolutions Agent is handling too many requests right now. Wait a moment, then try again.": "The Devolutions Agent is handling too many requests right now. Wait a moment, then try again.",
"Package operations are paused": "Package operations are paused",
"The Devolutions Agent is not accepting package operations, usually because no valid package policy is installed. Contact your administrator.": "The Devolutions Agent is not accepting package operations, usually because no valid package policy is installed. Contact your administrator.",
"The package broker rejected the request": "The package broker rejected the request",
"The Devolutions Agent did not accept one of the options of this operation.": "The Devolutions Agent did not accept one of the options of this operation.",
"The request is too large": "The request is too large",
"The options of this operation exceed the size the Devolutions Agent accepts. Shorten the custom arguments or commands, then try again.": "The options of this operation exceed the size the Devolutions Agent accepts. Shorten the custom arguments or commands, then try again.",
"Operation unsupported by broker": "Operation unsupported by broker",
"The Devolutions Agent on this computer does not support this operation or one of its options.": "The Devolutions Agent on this computer does not support this operation or one of its options.",
"Broker communication error": "Broker communication error",
"The Devolutions Agent did not respond in time. Try again in a moment.": "The Devolutions Agent did not respond in time. Try again in a moment.",
"The Devolutions Agent returned an unexpected response.": "The Devolutions Agent returned an unexpected response.",
"Details: {0}": "Details: {0}",
"The {0} architecture cannot be requested through the Devolutions Agent.": "The {0} architecture cannot be requested through the Devolutions Agent.",
"{0} packages always install the version provided by their source when the Devolutions Agent is used, so a specific version cannot be selected.": "{0} packages always install the version provided by their source when the Devolutions Agent is used, so a specific version cannot be selected.",
"Version ranges such as \"{0}\" cannot be sent to the Devolutions Agent for {1} packages. Select a specific version instead.": "Version ranges such as \"{0}\" cannot be sent to the Devolutions Agent for {1} packages. Select a specific version instead.",
"{0} package versions must be complete semantic versions, such as 1.2.3.": "{0} package versions must be complete semantic versions, such as 1.2.3.",
"The version \"{0}\" contains characters that the Devolutions Agent does not accept for {1} packages.": "The version \"{0}\" contains characters that the Devolutions Agent does not accept for {1} packages.",
"The Chocolatey package identifier \"{0}\" is not accepted by the Devolutions Agent. Identifiers can only contain letters, digits, periods, hyphens and underscores, and cannot name a package file or every package.": "The Chocolatey package identifier \"{0}\" is not accepted by the Devolutions Agent. Identifiers can only contain letters, digits, periods, hyphens and underscores, and cannot name a package file or every package.",
"The {0} package identifier \"{1}\" is not accepted by the Devolutions Agent: it must name a single package, without wildcard characters (* ? [ ]) or a leading hyphen.": "The {0} package identifier \"{1}\" is not accepted by the Devolutions Agent: it must name a single package, without wildcard characters (* ? [ ]) or a leading hyphen.",
"The {0} package identifier \"{1}\" is not accepted by the Devolutions Agent: module names cannot contain wildcard characters (* ? [ ]).": "The {0} package identifier \"{1}\" is not accepted by the Devolutions Agent: module names cannot contain wildcard characters (* ? [ ]).",
"The source name \"{0}\" contains characters that the Devolutions Agent does not accept for {1} packages.": "The source name \"{0}\" contains characters that the Devolutions Agent does not accept for {1} packages.",
"The install location \"{0}\" is not accepted by the Devolutions Agent. Use a full path on a local drive, such as C:\\Apps\\MyApp, without \".\" or \"..\" segments, names ending with a period or a space, or special characters.": "The install location \"{0}\" is not accepted by the Devolutions Agent. Use a full path on a local drive, such as C:\\Apps\\MyApp, without \".\" or \"..\" segments, names ending with a period or a space, or special characters.",
"The install location \"{0}\" cannot contain any of the following characters when the Devolutions Agent is used: {1}": "The install location \"{0}\" cannot contain any of the following characters when the Devolutions Agent is used: {1}",
"The custom argument \"{0}\" cannot contain any of the following characters when the Devolutions Agent is used: {1}": "The custom argument \"{0}\" cannot contain any of the following characters when the Devolutions Agent is used: {1}",
"The {0} custom argument \"{1}\" is not accepted by the Devolutions Agent. Only single options are allowed, and options that select every app, the architecture or the global scope are not.": "The {0} custom argument \"{1}\" is not accepted by the Devolutions Agent. Only single options are allowed, and options that select every app, the architecture or the global scope are not.",
"The {0} package identifier \"{1}\" is not accepted by the Devolutions Agent: packages must be referenced by their registry name, such as \"name\" or \"@scope/name\", and not by a URL, a Git repository or a local path.": "The {0} package identifier \"{1}\" is not accepted by the Devolutions Agent: packages must be referenced by their registry name, such as \"name\" or \"@scope/name\", and not by a URL, a Git repository or a local path.",
"The package identifier \"{0}\" contains characters that the Devolutions Agent does not accept for {1} packages.": "The package identifier \"{0}\" contains characters that the Devolutions Agent does not accept for {1} packages.",
"The package manager run by the Devolutions Agent reported an error (exit code {0}).": "The package manager run by the Devolutions Agent reported an error (exit code {0}).",
"The Devolutions Agent does not accept custom arguments for {0} packages ({1}). Remove them from the installation options of this package.": "The Devolutions Agent does not accept custom arguments for {0} packages ({1}). Remove them from the installation options of this package.",
"The version \"{0}\" is longer than the Devolutions Agent accepts (at most {1} bytes).": "The version \"{0}\" is longer than the Devolutions Agent accepts (at most {1} bytes).",
"The package identifier \"{0}\" is longer than the Devolutions Agent accepts (at most {1} bytes).": "The package identifier \"{0}\" is longer than the Devolutions Agent accepts (at most {1} bytes).",
"The custom argument \"{0}\" is longer than the Devolutions Agent accepts (at most {1} bytes).": "The custom argument \"{0}\" is longer than the Devolutions Agent accepts (at most {1} bytes).",
"The package identifier \"{0}\" would be read as a command-line option or split into several arguments.": "The package identifier \"{0}\" would be read as a command-line option or split into several arguments.",
"The version \"{0}\" would be read as a command-line option.": "The version \"{0}\" would be read as a command-line option.",
"The Devolutions Agent refused this operation": "The Devolutions Agent refused this operation",
"The Devolutions Agent does not allow this operation at the moment. Contact your administrator if the problem persists.": "The Devolutions Agent does not allow this operation at the moment. Contact your administrator if the problem persists.",
"{0} operations cannot run with administrator rights through the Devolutions Agent. Turn off \"Run as admin\" for this package.": "{0} operations cannot run with administrator rights through the Devolutions Agent. Turn off \"Run as admin\" for this package.",
"Pre-operation and post-operation commands cannot be used through the Devolutions Agent when the operation runs with administrator rights or for all users. Remove these commands, or turn off \"Run as admin\" and the machine-wide scope.": "Pre-operation and post-operation commands cannot be used through the Devolutions Agent when the operation runs with administrator rights or for all users. Remove these commands, or turn off \"Run as admin\" and the machine-wide scope.",
"The module conflicts with installed commands": "The module conflicts with installed commands",
"The Devolutions Agent does not support these options for {0} packages: {1}.": "The Devolutions Agent does not support these options for {0} packages: {1}.",
"installing for all users": "installing for all users",
"installing for the current user only": "installing for the current user only",
"choosing the architecture": "choosing the architecture",
"pre-release versions": "pre-release versions",
"skipping the hash check": "skipping the hash check",
"a custom install location": "a custom install location",
"uninstalling previous versions": "uninstalling previous versions",
"closing apps before the operation": "closing apps before the operation",
"pre-operation and post-operation commands": "pre-operation and post-operation commands",
"{0} provides commands that another installed module already provides. Installing it anyway requires the -AllowClobber option, which cannot be used through the Devolutions Agent.": "{0} provides commands that another installed module already provides. Installing it anyway requires the -AllowClobber option, which cannot be used through the Devolutions Agent.",
"Loading policy management state": "Loading policy management state",
"Your organization": "Your organization",
"Policy management is unsupported": "Policy management is unsupported",
Expand Down Expand Up @@ -1542,12 +1610,10 @@
"Overwrite the policy that changed elsewhere": "Overwrite the policy that changed elsewhere",
"Save policy": "Save policy",
"Close policy editor": "Close policy editor",
"No reason provided": "No reason provided",
"Operation denied by policy": "Operation denied by policy",
"Operation failed via broker": "Operation failed via broker",
"The broker accepted the request but did not report an operation to track.": "The broker accepted the request but did not report an operation to track.",
"The operation did not finish within the allotted time. It may still be running on the agent.": "The operation did not finish within the allotted time. It may still be running on the agent.",
"Operation denied or failed via broker": "Operation denied or failed via broker",
"The Devolutions Agent broker is not available. The operation cannot be performed. Please ensure the Devolutions Agent is installed and running.": "The Devolutions Agent broker is not available. The operation cannot be performed. Please ensure the Devolutions Agent is installed and running.",
"A boolean match must be omitted, true, or false; mixed arrays are invalid.": "A boolean match must be omitted, true, or false; mixed arrays are invalid.",
"A policy field has an invalid value.": "A policy field has an invalid value.",
Expand Down
6 changes: 3 additions & 3 deletions src/UniGetUI.Avalonia/Infrastructure/AvaloniaBootstrapper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ private static Task InitializeSharedServicesAsync()
Secrets.GetOpenSearchUsername(),
Secrets.GetOpenSearchPassword());
AbstractOperation.QueueDrained += (_, _) => _ = TelemetryHandler.FlushPackageEventsAsync();
PackageOperation.BrokerUnavailable += (_, message) =>
PackageOperation.BrokerUnavailable += (_, failure) =>
Dispatcher.UIThread.Post(async void () =>
{
// Runs on the UI thread, so the flag needs no synchronization.
Expand All @@ -146,8 +146,8 @@ private static Task InitializeSharedServicesAsync()
try
{
await new SimpleErrorDialog(
CoreTools.Translate("Agent broker unavailable"),
message).ShowDialog(owner);
failure.Title,
failure.Message).ShowDialog(owner);
}
catch (Exception ex)
{
Expand Down
Loading
Loading