mirror of
https://github.com/achiez/NebulaAuth-Steam-Desktop-Authenticator-by-Achies.git
synced 2026-07-25 06:14:31 +00:00
Prepare 1.8.1
- Added changelog/1.8.1.html with detailed update notes and links - Improved MAAC auto-confirmation logic: now uses IsReady() for smarter account readiness checks and retries - Added GetReadyAccounts() to MultiAccountAutoConfirmer for flexible account selection - Fixed localization lookup in GetPortableMaClientStatus - Set PortableMaClient initial status to Ok instead of test error
This commit is contained in:
@@ -24,6 +24,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "changelog", "changelog", "{
|
|||||||
changelog\1.7.3.html = changelog\1.7.3.html
|
changelog\1.7.3.html = changelog\1.7.3.html
|
||||||
changelog\1.7.4.html = changelog\1.7.4.html
|
changelog\1.7.4.html = changelog\1.7.4.html
|
||||||
changelog\1.8.0.html = changelog\1.8.0.html
|
changelog\1.8.0.html = changelog\1.8.0.html
|
||||||
|
changelog\1.8.1.html = changelog\1.8.1.html
|
||||||
EndProjectSection
|
EndProjectSection
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SteamLibForked", "src\SteamLibForked\SteamLibForked.csproj", "{224F9DB0-3D20-A614-BA2A-12F22B13A2C6}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SteamLibForked", "src\SteamLibForked\SteamLibForked.csproj", "{224F9DB0-3D20-A614-BA2A-12F22B13A2C6}"
|
||||||
|
|||||||
@@ -0,0 +1,87 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Changelog</title>
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||||
|
background-color: #eeeeee;
|
||||||
|
color: #333;
|
||||||
|
line-height: 1.6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.changelog-container {
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 10px;
|
||||||
|
padding: 25px;
|
||||||
|
margin: 25px auto;
|
||||||
|
max-width: 800px;
|
||||||
|
box-shadow: 0 5px 15px rgba(0,0,0,0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
.change {
|
||||||
|
margin-bottom: 20px;
|
||||||
|
padding: 0;
|
||||||
|
border-left: 4px solid #a50ec7;
|
||||||
|
background-color: #f9f9f9;
|
||||||
|
}
|
||||||
|
|
||||||
|
.version {
|
||||||
|
font-weight: 600;
|
||||||
|
font-size: 1.5em;
|
||||||
|
color: #a50ec7;
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date {
|
||||||
|
font-style: italic;
|
||||||
|
color: #888;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
margin-left: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.description {
|
||||||
|
font-size: 1em;
|
||||||
|
padding: 0 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.description ul {
|
||||||
|
list-style: inside square;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media only screen and (max-width: 600px) {
|
||||||
|
.changelog-container {
|
||||||
|
width: 90%;
|
||||||
|
margin: 25px auto;
|
||||||
|
padding: 25px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="changelog-container">
|
||||||
|
<div class="change">
|
||||||
|
<div class="version">Version 1.8.1</div>
|
||||||
|
<div class="date">25.01.2026</div>
|
||||||
|
<div class="description">
|
||||||
|
<ul>
|
||||||
|
<li><b>NEW:</b> Added Mafile Export tool with templates, batch export and flexible field filtering.</li>
|
||||||
|
<li><b>IMPROVEMENT:</b> Reworked auto-confirmation error handling logic (MAAC) — fewer false disables, smarter retries.</li>
|
||||||
|
<li><b>UPDATE:</b> Added “Unattach Proxy” option to the account context menu.</li>
|
||||||
|
<li><b>LOCALIZATION:</b> Added Chinese (Simplified) and French languages.</li>
|
||||||
|
<li><b>FIX:</b> Fixed crashes related to duplicate mafiles, timers, search filtering and import logic.</li>
|
||||||
|
<li>
|
||||||
|
<b>DETAILS:</b> Full patch notes:
|
||||||
|
<a href="https://teletype.in/@achies_raw/nebula-1-8-1-eng">ENG</a> |
|
||||||
|
<a href="https://teletype.in/@achies_raw/nebula-1-8-1-rus">RUS</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -148,6 +148,12 @@ public static class MAACRequestHandler
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static bool IsReady(Mafile maf)
|
||||||
|
{
|
||||||
|
if (maf.LinkedClient is {Status.StatusType: PortableMaClientStatusType.Ok}) return true;
|
||||||
|
return maf.LinkedClient is {Status.StatusType: PortableMaClientStatusType.Warning}
|
||||||
|
&& maf.LastErrorWasAtLeast(Settings.Instance.MaacRetryInterval);
|
||||||
|
}
|
||||||
|
|
||||||
private static string GetTimerPrefix(Mafile mafile)
|
private static string GetTimerPrefix(Mafile mafile)
|
||||||
{
|
{
|
||||||
@@ -161,6 +167,8 @@ public static class MAACRequestHandler
|
|||||||
|
|
||||||
private static string GetPortableMaClientStatus(string key)
|
private static string GetPortableMaClientStatus(string key)
|
||||||
{
|
{
|
||||||
return LocManager.GetCodeBehindOrDefault(key, LOC_PATH, key);
|
return LocManager.GetCodeBehindOrDefault(key, LOC_PATH, "PortableMaClientStatus", key);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -59,8 +59,7 @@ public static class MultiAccountAutoConfirmer
|
|||||||
private static async Task TimerConfirmInternal()
|
private static async Task TimerConfirmInternal()
|
||||||
{
|
{
|
||||||
var clients = Lock.ReadLock(() => Clients.ToArray());
|
var clients = Lock.ReadLock(() => Clients.ToArray());
|
||||||
var enabledClients = clients.Where(x => x.LinkedClient is {Status.StatusType: PortableMaClientStatusType.Ok})
|
var enabledClients = GetReadyAccounts();
|
||||||
.ToArray();
|
|
||||||
enabledClients = DistributeEvenly(enabledClients).ToArray();
|
enabledClients = DistributeEvenly(enabledClients).ToArray();
|
||||||
var confirmed = 0;
|
var confirmed = 0;
|
||||||
await Task.Run(async () =>
|
await Task.Run(async () =>
|
||||||
@@ -116,6 +115,21 @@ public static class MultiAccountAutoConfirmer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static IEnumerable<Mafile> GetReadyAccounts()
|
||||||
|
{
|
||||||
|
var clients = Lock.ReadLock(() => Clients.ToArray());
|
||||||
|
var res = new List<Mafile>();
|
||||||
|
foreach (var maf in clients)
|
||||||
|
{
|
||||||
|
if(maf.LinkedClient == null) continue;
|
||||||
|
if (MAACRequestHandler.IsReady(maf))
|
||||||
|
{
|
||||||
|
res.Add(maf);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return res;
|
||||||
|
|
||||||
|
}
|
||||||
public static bool TryAddToConfirm(Mafile mafile)
|
public static bool TryAddToConfirm(Mafile mafile)
|
||||||
{
|
{
|
||||||
return Lock.WriteLock(() =>
|
return Lock.WriteLock(() =>
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ public partial class PortableMaClient : ObservableObject, IDisposable
|
|||||||
ClientHandler = pair.Handler;
|
ClientHandler = pair.Handler;
|
||||||
UpdateCookies(mafile.SessionData);
|
UpdateCookies(mafile.SessionData);
|
||||||
Mafile.PropertyChanged += Mafile_PropertyChanged;
|
Mafile.PropertyChanged += Mafile_PropertyChanged;
|
||||||
SetStatus(PortableMaClientStatus.Error("123123"));
|
SetStatus(PortableMaClientStatus.Ok());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Mafile_PropertyChanged(object? sender, PropertyChangedEventArgs e)
|
private void Mafile_PropertyChanged(object? sender, PropertyChangedEventArgs e)
|
||||||
|
|||||||
Reference in New Issue
Block a user