mirror of
https://github.com/achiez/NebulaAuth-Steam-Desktop-Authenticator-by-Achies.git
synced 2026-07-25 06:14:31 +00:00
The most significant changes in the code include the addition of a new HTML file changelog\1.4.8.html to the project NebulaAuth.sln, which displays the changelog for version 1.4.8 of the software. A new converter ProxyDataTextConverter was added to App.xaml and a new class ProxyDataTextConverter was added in ProxyTextConverter.cs. The ProxyTextConverter was also modified to include the port number in the return string.
Several methods were added and modified in `Storage.cs`, `MainVM_Groups.cs`, `MainVM_Proxy.cs`, and `ProxyManagerVM.cs` to validate if the data can be saved before performing various operations. The `SnackbarController.cs` was modified to increase the minimum snackbar time and adjust the duration calculation. In `MafileSerializer_SessionData.cs`, the check for whether the refresh token is expired or not was moved to a different location within the code. New localization entries were added in `localization.loc.json`. The changes are as follows: 1. Added a new HTML file `changelog\1.4.8.html` to the project `NebulaAuth.sln`. 2. Added a new converter `ProxyDataTextConverter` to `App.xaml`. 3. Imported `AchiesUtilities.Web.Proxy` in `ProxyTextConverter.cs`. 4. Modified the return string in `ProxyTextConverter` to include the port number. 5. Added a new class `ProxyDataTextConverter` in `ProxyTextConverter.cs`. 6. Increased the minimum snackbar time from 1000 to 1200 in `SnackbarController.cs`. 7. Modified the duration calculation in `GetSnackbarTime` method in `SnackbarController.cs`. 8. Added tooltips to ComboBoxes in `MainWindow.xaml`. 9. Added a new method `ValidateCanSave` in `Storage.cs` to validate if the data can be saved. 10. Added a new method `GetProxyString` in `ProxyStorage.cs` to get the proxy string. 11. Modified the `CompareProxy` method in `ProxyStorage.cs` to compare the address and port of the proxy data. 12. Removed a logger info line in `Shell.cs`. 13. Added a new property `DuplicateFound` in `Storage.cs`. 14. Modified the `CreatePathForMafile` method in `Storage.cs` to create a file name based on the account name or steam id. 15. Modified the `AddGroup` method in `MainVM_Groups.cs` to validate if the data can be saved before adding a group. 16. Modified the `AddToGroup` method in `MainVM_Groups.cs` to validate if the data can be saved before adding to a group. 17. Modified the `RemoveGroup` method in `MainVM_Groups.cs` to validate if the data can be saved before removing a group. 18. Modified the `PerformQuery` method in `MainVM_Groups.cs` to set `SelectedMafile` to the first item in `MaFiles`. 19. Modified the `RemoveProxy` method in `MainVM_Proxy.cs` to validate if the data can be saved before removing a proxy. 20. Modified the `SelectedProxyChanged` method in `MainVM_Proxy.cs` to validate if the data can be saved before changing the selected proxy. 21. Added a new method `ValidateCanSaveAndWarn` in `MainVM_Proxy.cs` to validate if the data can be saved and send a snackbar message if it can't. 22. Modified the `TimerCheckSeconds` property in `MainVM_Timer.cs` to send a snackbar message when the timer is changed. 23. Added a new method `RemoveProxy` in `LoginAgainOnImportVM.cs` to remove the selected proxy. 24. Modified the `AddProxy` method in `ProxyManagerVM.cs` to use the `DefaultScheme` to parse the proxy data. 25. Modified the `AddProxy` method in `ProxyManagerVM.cs` to use the `DefaultScheme` to parse the proxy data and get the proxy string. 26. Modified the `CopyProxy` method in `ProxyManagerVM.cs` to get the proxy string. 27. Added new localization entries in `localization.loc.json`. 28. The `update.xml` file was updated to reflect the new version of the software (1.4.8.0) and the corresponding download URL and changelog URL were updated accordingly. 29. In `AdmissionHelper.cs`, a new constant `SESSION_ID_COOKIE_NAME` was added to replace hardcoded "sessionid" strings. The same was done for `LANGUAGE_COOKIE_NAME` replacing "Steam_Language". This change was reflected in multiple methods within the `AdmissionHelper` class. 30. A new method `CloneCookie` was added to `AdmissionHelper.cs` to create a copy of a given cookie. This method was then used to replace repetitive code in the `TransferCommunityCookies` method. 31. In `MafileSerializer_SessionData.cs`, the check for whether the refresh token is expired or not was moved to a different location within the code. This change does not affect the functionality but may improve readability or maintainability of the code.
This commit is contained in:
@@ -9,6 +9,7 @@ using SteamLib.Utility.MaFiles;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.DirectoryServices.ActiveDirectory;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
|
||||
@@ -23,6 +24,7 @@ public static class Storage
|
||||
public static string RemovedMafileFolder { get; } = Path.GetFullPath(REMOVED_F);
|
||||
|
||||
public static ObservableCollection<Mafile> MaFiles { get; } = new();
|
||||
|
||||
public static readonly int DuplicateFound;
|
||||
static Storage()
|
||||
{
|
||||
@@ -48,7 +50,7 @@ public static class Storage
|
||||
{
|
||||
var data = ReadMafile(file);
|
||||
|
||||
if (hashNames.Contains(data.AccountName) || (data.SessionData != null && hashIds.Contains(data.SessionData.SteamId)))
|
||||
if (hashNames.Contains(data.AccountName) || (data.SessionData != null && hashIds.Contains(data.SessionData.SteamId)))
|
||||
{
|
||||
DuplicateFound++;
|
||||
Shell.Logger.Error("Duplicate mafile {file}", Path.GetFileName(file));
|
||||
@@ -217,16 +219,18 @@ public static class Storage
|
||||
|
||||
private static string CreatePathForMafile(Mafile data)
|
||||
{
|
||||
if (data.SessionData == null)
|
||||
throw new NullReferenceException("SessionData was null can't retrieve SteamId"); //TODO: handle with login
|
||||
|
||||
var useAccountName = Settings.Instance.UseAccountNameAsMafileName;
|
||||
if (!useAccountName && (data.SessionData.SteamId.Steam64 == 0 || data.SessionData.SteamId.Steam64 == SteamId64.SEED))
|
||||
string fileName;
|
||||
if (Settings.Instance.UseAccountNameAsMafileName)
|
||||
{
|
||||
useAccountName = true;
|
||||
fileName = CreateFileNameWithAccountName(data.AccountName);
|
||||
}
|
||||
else
|
||||
{
|
||||
if(data.SessionData == null)
|
||||
throw new NullReferenceException("SessionData was null can't retrieve SteamId"); //FIXME: think about better way to handle
|
||||
|
||||
var fileName = useAccountName ? CreateFileNameWithAccountName(data.AccountName) : CreateFileNameWithSteamId(data.SessionData.SteamId);
|
||||
fileName = CreateFileNameWithSteamId(data.SessionData.SteamId);
|
||||
}
|
||||
|
||||
return Path.Combine(MafileFolder, fileName);
|
||||
}
|
||||
@@ -257,6 +261,11 @@ public static class Storage
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static bool ValidateCanSave(Mafile data)
|
||||
{
|
||||
return Settings.Instance.UseAccountNameAsMafileName || data.SessionData != null;
|
||||
}
|
||||
}
|
||||
|
||||
internal class MafileNameComparer : IComparer<string>
|
||||
|
||||
Reference in New Issue
Block a user