Skip to content

Commit c1fbd88

Browse files
Remove share package feature (#4587)
1 parent 34d5af4 commit c1fbd88

20 files changed

Lines changed: 9 additions & 394 deletions

src/UniGetUI.Avalonia/Infrastructure/AvaloniaBootstrapper.cs

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -108,14 +108,6 @@ private static async Task InitializeBackgroundApiAsync()
108108
MainWindow.Instance?.ShowFromTray();
109109
});
110110

111-
_backgroundApi.OnShowSharedPackage += (_, pkg) =>
112-
Dispatcher.UIThread.Post(() =>
113-
{
114-
Logger.Info($"BackgroundApi: ShowSharedPackage {pkg.Key}/{pkg.Value}");
115-
MainWindow.Instance?.ShowFromTray();
116-
MainWindow.Instance?.OpenSharedPackage(pkg.Key, pkg.Value);
117-
});
118-
119111
_backgroundApi.OnUpgradeAll += (_, _) =>
120112
Dispatcher.UIThread.Post(() => _ = AvaloniaPackageOperationHelper.UpdateAllAsync());
121113

src/UniGetUI.Avalonia/ViewModels/SoftwarePages/PackagesPageViewModel.cs

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -167,11 +167,6 @@ public partial class PackagesPageViewModel : ViewModelBase
167167
public event Action? HelpRequested;
168168
/// <summary>Fired when the ViewModel wants to show the Manage-Ignored-Updates dialog.</summary>
169169
public event Action? ManageIgnoredRequested;
170-
/// <summary>
171-
/// Fired when the ViewModel has built a share URL.
172-
/// Arguments: (packageName, url). Both null means "nothing to share".
173-
/// </summary>
174-
public event Action<string?, string?>? SharePackageRequested;
175170

176171
// ─── Constructor ─────────────────────────────────────────────────────────
177172
public PackagesPageViewModel(PackagesPageData data)
@@ -717,22 +712,6 @@ public void UpdateSubtitle()
717712
[RelayCommand] private void RequestHelp() => HelpRequested?.Invoke();
718713
[RelayCommand] private void RequestManageIgnored() => ManageIgnoredRequested?.Invoke();
719714

720-
[RelayCommand]
721-
public void RequestShare(IPackage? package)
722-
{
723-
if (package is null || package.Source.IsVirtualManager)
724-
{
725-
SharePackageRequested?.Invoke(null, null);
726-
return;
727-
}
728-
var url = "https://marticliment.com/unigetui/share?"
729-
+ "name=" + System.Web.HttpUtility.UrlEncode(package.Name)
730-
+ "&id=" + System.Web.HttpUtility.UrlEncode(package.Id)
731-
+ "&sourceName=" + System.Web.HttpUtility.UrlEncode(package.Source.Name)
732-
+ "&managerName=" + System.Web.HttpUtility.UrlEncode(package.Manager.Name);
733-
SharePackageRequested?.Invoke(package.Name, url);
734-
}
735-
736715
// ─── Sort commands ────────────────────────────────────────────────────────
737716
[RelayCommand] private void SortByName() => SortFieldIndex = 0;
738717
[RelayCommand] private void SortById() => SortFieldIndex = 1;

src/UniGetUI.Avalonia/Views/MainWindow.axaml.cs

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -237,13 +237,6 @@ public void QuitApplication()
237237
as IClassicDesktopStyleApplicationLifetime)?.Shutdown();
238238
}
239239

240-
public void OpenSharedPackage(string managerName, string packageId)
241-
{
242-
// TODO: open package details for the shared package
243-
Logger.Info($"OpenSharedPackage: {managerName}/{packageId}");
244-
Navigate(PageType.Discover);
245-
}
246-
247240
public static void ApplyProxyVariableToProcess()
248241
{
249242
try

src/UniGetUI.Avalonia/Views/SoftwarePages/AbstractPackagesPage.axaml.cs

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -34,22 +34,6 @@ protected AbstractPackagesPage(PackagesPageData data)
3434
if (GetMainWindow() is { } win)
3535
await new ManageIgnoredUpdatesWindow().ShowDialog(win);
3636
};
37-
ViewModel.SharePackageRequested += async (pkgName, url) =>
38-
{
39-
if (GetMainWindow() is not { } win) return;
40-
if (url is null)
41-
{
42-
await ViewModel.ShowInfoDialog(win,
43-
CoreTools.Translate("Nothing to share"),
44-
CoreTools.Translate("Please select a package first."));
45-
return;
46-
}
47-
var clipboard = TopLevel.GetTopLevel(this)?.Clipboard;
48-
if (clipboard is not null) await clipboard.SetTextAsync(url);
49-
await ViewModel.ShowInfoDialog(win,
50-
CoreTools.Translate("Share link copied"),
51-
CoreTools.Translate("The share link for {0} has been copied to the clipboard.", pkgName ?? ""));
52-
};
5337

5438
// "New version" sort option is only relevant on the updates page
5539
OrderByNewVersion_Menu.IsVisible = ViewModel.RoleIsUpdateLike;

src/UniGetUI.Avalonia/Views/SoftwarePages/DiscoverSoftwarePage.cs

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
using System.Web;
21
using Avalonia;
32
using Avalonia.Controls;
43
using Avalonia.Controls.ApplicationLifetimes;
@@ -73,8 +72,6 @@ protected override void GenerateToolBar(PackagesPageViewModel vm)
7372
ViewModel.AddToolbarSeparator();
7473
ViewModel.AddToolbarButton("info_round", CoreTools.Translate("Package details"),
7574
() => _ = ShowDetailsForPackage(SelectedItem), showLabel: false);
76-
ViewModel.AddToolbarButton("share", CoreTools.Translate("Share"),
77-
() => vm.RequestShareCommand.Execute(SelectedItem), showLabel: false);
7875
ViewModel.AddToolbarSeparator();
7976
ViewModel.AddToolbarButton("add_to", CoreTools.Translate("Add selection to bundle"),
8077
() => _ = ExportSelectionToBundleAsync(vm));
@@ -121,9 +118,6 @@ protected override void GenerateToolBar(PackagesPageViewModel vm)
121118
var menuInstallOptions = new MenuItem { Header = CoreTools.AutoTranslated("Install options"), Icon = LoadMenuIcon("options") };
122119
menuInstallOptions.Click += (_, _) => _ = ShowInstallationOptionsForPackage(SelectedItem);
123120

124-
var menuShare = new MenuItem { Header = CoreTools.AutoTranslated("Share this package"), Icon = LoadMenuIcon("share") };
125-
menuShare.Click += (_, _) => ViewModel.RequestShareCommand.Execute(SelectedItem);
126-
127121
var menuDetails = new MenuItem { Header = CoreTools.AutoTranslated("Package details"), Icon = LoadMenuIcon("info_round") };
128122
menuDetails.Click += (_, _) => _ = ShowDetailsForPackage(SelectedItem);
129123

@@ -137,7 +131,6 @@ protected override void GenerateToolBar(PackagesPageViewModel vm)
137131
menu.Items.Add(_menuSkipHash);
138132
menu.Items.Add(_menuDownloadInstaller);
139133
menu.Items.Add(new Separator());
140-
menu.Items.Add(menuShare);
141134
menu.Items.Add(menuDetails);
142135

143136
return menu;

src/UniGetUI.Avalonia/Views/SoftwarePages/InstalledPackagesPage.cs

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ public class InstalledPackagesPage : AbstractPackagesPage
2727
private MenuItem? _menuReinstall;
2828
private MenuItem? _menuUninstallThenReinstall;
2929
private MenuItem? _menuIgnoreUpdates;
30-
private MenuItem? _menuShare;
3130
private MenuItem? _menuDetails;
3231
private MenuItem? _menuOpenInstallLocation;
3332
private MenuItem? _menuDownloadInstaller;
@@ -90,8 +89,6 @@ protected override void GenerateToolBar(PackagesPageViewModel vm)
9089
ViewModel.AddToolbarSeparator();
9190
ViewModel.AddToolbarButton("info_round", CoreTools.Translate("Package details"),
9291
() => _ = ShowDetailsForPackage(SelectedItem), showLabel: false);
93-
ViewModel.AddToolbarButton("share", CoreTools.Translate("Share"),
94-
() => vm.RequestShareCommand.Execute(SelectedItem), showLabel: false);
9592
ViewModel.AddToolbarSeparator();
9693
ViewModel.AddToolbarButton("pin", CoreTools.Translate("Ignore selected packages"), async () =>
9794
{
@@ -188,13 +185,6 @@ protected override void GenerateToolBar(PackagesPageViewModel vm)
188185
};
189186
_menuIgnoreUpdates.Click += (_, _) => _ = ToggleIgnoreUpdatesAsync(SelectedItem);
190187

191-
_menuShare = new MenuItem
192-
{
193-
Header = CoreTools.AutoTranslated("Share this package"),
194-
Icon = LoadMenuIcon("share"),
195-
};
196-
_menuShare.Click += (_, _) => ViewModel.RequestShareCommand.Execute(SelectedItem);
197-
198188
_menuDetails = new MenuItem
199189
{
200190
Header = CoreTools.AutoTranslated("Package details"),
@@ -219,7 +209,6 @@ protected override void GenerateToolBar(PackagesPageViewModel vm)
219209
menu.Items.Add(new Separator());
220210
menu.Items.Add(_menuIgnoreUpdates);
221211
menu.Items.Add(new Separator());
222-
menu.Items.Add(_menuShare);
223212
menu.Items.Add(_menuDetails);
224213

225214
return menu;
@@ -230,7 +219,7 @@ protected override void WhenShowingContextMenu(IPackage package)
230219
if (_menuAsAdmin is null || _menuInteractive is null || _menuRemoveData is null
231220
|| _menuInstallationOptions is null || _menuReinstall is null
232221
|| _menuUninstallThenReinstall is null || _menuIgnoreUpdates is null
233-
|| _menuShare is null || _menuDetails is null
222+
|| _menuDetails is null
234223
|| _menuOpenInstallLocation is null || _menuDownloadInstaller is null)
235224
{
236225
Logger.Warn("Context menu items are null on InstalledPackagesPage");
@@ -247,7 +236,6 @@ protected override void WhenShowingContextMenu(IPackage package)
247236
_menuInstallationOptions.IsEnabled = !isLocal;
248237
_menuReinstall.IsEnabled = !isLocal;
249238
_menuUninstallThenReinstall.IsEnabled = !isLocal;
250-
_menuShare.IsEnabled = !isLocal;
251239
_menuDetails.IsEnabled = !isLocal;
252240
_menuOpenInstallLocation.IsEnabled =
253241
package.Manager.DetailsHelper.GetInstallLocation(package) is not null;

src/UniGetUI.Avalonia/Views/SoftwarePages/PackageBundlesPage.cs

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ public class PackageBundlesPage : AbstractPackagesPage
3434
private MenuItem? _menuInteractive;
3535
private MenuItem? _menuSkipHash;
3636
private MenuItem? _menuDownloadInstaller;
37-
private MenuItem? _menuShare;
3837
private MenuItem? _menuDetails;
3938

4039
private readonly PackageBundlesLoader _loader;
@@ -113,8 +112,6 @@ protected override void GenerateToolBar(PackagesPageViewModel vm)
113112
ViewModel.AddToolbarSeparator();
114113
ViewModel.AddToolbarButton("info_round", CoreTools.Translate("Package details"),
115114
() => _ = ShowDetailsForPackage(SelectedItem), showLabel: false);
116-
ViewModel.AddToolbarButton("share", CoreTools.Translate("Share"),
117-
() => vm.RequestShareCommand.Execute(SelectedItem), showLabel: false);
118115
ViewModel.AddToolbarSeparator();
119116
ViewModel.AddToolbarButton("help", CoreTools.Translate("Help"),
120117
() => vm.RequestHelpCommand.Execute(null));
@@ -168,9 +165,6 @@ private static IReadOnlyList<IPackage> GetCheckedNonInstalledPackages(PackagesPa
168165
}
169166
};
170167

171-
_menuShare = new MenuItem { Header = CoreTools.AutoTranslated("Share this package"), Icon = LoadMenuIcon("share") };
172-
_menuShare.Click += (_, _) => ViewModel.RequestShareCommand.Execute(SelectedItem);
173-
174168
_menuDetails = new MenuItem { Header = CoreTools.AutoTranslated("Package details"), Icon = LoadMenuIcon("info_round") };
175169
_menuDetails.Click += (_, _) => _ = ShowDetailsForPackage(SelectedItem);
176170

@@ -186,7 +180,6 @@ private static IReadOnlyList<IPackage> GetCheckedNonInstalledPackages(PackagesPa
186180
menu.Items.Add(new Separator());
187181
menu.Items.Add(menuRemoveFromList);
188182
menu.Items.Add(new Separator());
189-
menu.Items.Add(_menuShare);
190183
menu.Items.Add(_menuDetails);
191184
return menu;
192185
}
@@ -195,7 +188,7 @@ protected override void WhenShowingContextMenu(IPackage package)
195188
{
196189
if (_menuInstall is null || _menuInstallOptions is null || _menuAsAdmin is null
197190
|| _menuInteractive is null || _menuSkipHash is null || _menuDownloadInstaller is null
198-
|| _menuShare is null || _menuDetails is null)
191+
|| _menuDetails is null)
199192
{
200193
Logger.Warn("Context menu items are null on PackageBundlesPage");
201194
return;
@@ -210,7 +203,6 @@ protected override void WhenShowingContextMenu(IPackage package)
210203
_menuInteractive.IsEnabled = isValid && caps.CanRunInteractively;
211204
_menuSkipHash.IsEnabled = isValid && caps.CanSkipIntegrityChecks;
212205
_menuDownloadInstaller.IsEnabled = isValid && caps.CanDownloadInstaller;
213-
_menuShare.IsEnabled = isValid;
214206
_menuDetails.IsEnabled = isValid;
215207
}
216208

src/UniGetUI.Avalonia/Views/SoftwarePages/SoftwareUpdatesPage.cs

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,6 @@ protected override void GenerateToolBar(PackagesPageViewModel vm)
8484
ViewModel.AddToolbarSeparator();
8585
ViewModel.AddToolbarButton("info_round", CoreTools.Translate("Package details"),
8686
() => _ = ShowDetailsForPackage(SelectedItem), showLabel: false);
87-
ViewModel.AddToolbarButton("share", CoreTools.Translate("Share"),
88-
() => vm.RequestShareCommand.Execute(SelectedItem), showLabel: false);
8987
ViewModel.AddToolbarSeparator();
9088
ViewModel.AddToolbarButton("pin", CoreTools.Translate("Ignore selected packages"), async () =>
9189
{
@@ -229,13 +227,6 @@ protected override void GenerateToolBar(PackagesPageViewModel vm)
229227
menuPause.Items.Add(item);
230228
}
231229

232-
var menuShare = new MenuItem
233-
{
234-
Header = CoreTools.AutoTranslated("Share this package"),
235-
Icon = LoadMenuIcon("share"),
236-
};
237-
menuShare.Click += (_, _) => ViewModel.RequestShareCommand.Execute(SelectedItem);
238-
239230
var menuDetails = new MenuItem
240231
{
241232
Header = CoreTools.AutoTranslated("Package details"),
@@ -261,7 +252,6 @@ protected override void GenerateToolBar(PackagesPageViewModel vm)
261252
menu.Items.Add(menuSkipVersion);
262253
menu.Items.Add(menuPause);
263254
menu.Items.Add(new Separator());
264-
menu.Items.Add(menuShare);
265255
menu.Items.Add(menuDetails);
266256

267257
return menu;

src/UniGetUI.Interface.BackgroundApi/BackgroundApi.cs

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ public class BackgroundApiRunner
2525
{
2626
public event EventHandler<EventArgs>? OnOpenWindow;
2727
public event EventHandler<EventArgs>? OnOpenUpdatesPage;
28-
public event EventHandler<KeyValuePair<string, string>>? OnShowSharedPackage;
2928
public event EventHandler<EventArgs>? OnUpgradeAll;
3029
public event EventHandler<string>? OnUpgradeAllForManager;
3130
public event EventHandler<string>? OnUpgradePackage;
@@ -62,7 +61,6 @@ public async Task Start()
6261
app.UseRouting();
6362
app.UseEndpoints(endpoints =>
6463
{
65-
// Share endpoints
6664
endpoints.MapGet("/v2/show-package", V2_ShowPackage);
6765
endpoints.MapGet("/is-running", API_IsRunning);
6866
// Widgets v1 API
@@ -98,21 +96,10 @@ public async Task Start()
9896

9997
private async Task V2_ShowPackage(HttpContext context)
10098
{
101-
var query = context.Request.Query;
102-
if (string.IsNullOrEmpty(query["pid"]) || string.IsNullOrEmpty(query["psource"]))
103-
{
104-
context.Response.StatusCode = 400;
105-
return;
106-
}
107-
108-
string packageId = query["pid"].ToString();
109-
string packageSource = query["psource"].ToString();
110-
OnShowSharedPackage?.Invoke(
111-
null,
112-
new KeyValuePair<string, string>(packageId, packageSource)
99+
context.Response.StatusCode = StatusCodes.Status410Gone;
100+
await context.Response.WriteAsync(
101+
"{\"status\": \"removed\", \"message\": \"package sharing has been removed\"}"
113102
);
114-
115-
await context.Response.WriteAsync("{\"status\": \"success\"}");
116103
}
117104

118105
private async Task API_IsRunning(HttpContext context)

src/UniGetUI.Interface.Telemetry/TelemetryHandler.cs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ public enum TEL_InstallReferral
1919
{
2020
DIRECT_SEARCH,
2121
FROM_BUNDLE,
22-
FROM_WEB_SHARE,
2322
ALREADY_INSTALLED,
2423
}
2524

@@ -208,9 +207,6 @@ public static void UninstallPackage(IPackage package, TEL_OP_RESULT status) =>
208207
public static void PackageDetails(IPackage package, string eventSource) =>
209208
_ = TrackPackageEventAsync(package, "details", eventSource: eventSource);
210209

211-
public static void SharedPackage(IPackage package, string eventSource) =>
212-
_ = TrackPackageEventAsync(package, "share", eventSource: eventSource);
213-
214210
private static async Task TrackPackageEventAsync(
215211
IPackage package,
216212
string operation,

0 commit comments

Comments
 (0)