mirror of
https://github.com/JustArchiNET/ArchiSteamFarm.git
synced 2026-01-01 14:10:53 +00:00
Misc rework of change number delay
This commit is contained in:
@@ -2607,7 +2607,7 @@ namespace ArchiSteamFarm {
|
||||
}
|
||||
|
||||
// Wait a short time for eventual LastChangeNumber initialization
|
||||
for (byte i = 0; (i < WebBrowser.MaxTries) && (ASF.GlobalDatabase.LastChangeNumber == 0); i++) {
|
||||
for (byte i = 0; (i < WebBrowser.MaxTries) && !SteamPICSChanges.LiveUpdate; i++) {
|
||||
await Task.Delay(1000).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ namespace ArchiSteamFarm {
|
||||
internal static class SteamPICSChanges {
|
||||
private const byte RefreshTimerInMinutes = 5;
|
||||
|
||||
internal static bool LiveUpdate { get; private set; }
|
||||
|
||||
private static readonly SemaphoreSlim RefreshSemaphore = new(1, 1);
|
||||
private static readonly Timer RefreshTimer = new(RefreshChanges);
|
||||
|
||||
@@ -66,6 +68,8 @@ namespace ArchiSteamFarm {
|
||||
refreshBot = Bot.Bots?.Values.Where(bot => bot.IsConnectedAndLoggedOn).OrderByDescending(bot => bot.OwnedPackageIDs.Count).FirstOrDefault();
|
||||
|
||||
if (refreshBot == null) {
|
||||
LiveUpdate = false;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -77,12 +81,15 @@ namespace ArchiSteamFarm {
|
||||
}
|
||||
|
||||
if ((refreshBot == null) || (picsChanges == null)) {
|
||||
LiveUpdate = false;
|
||||
ASF.ArchiLogger.LogGenericWarning(Strings.WarningFailed);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (picsChanges.CurrentChangeNumber == picsChanges.LastChangeNumber) {
|
||||
LiveUpdate = true;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -93,11 +100,15 @@ namespace ArchiSteamFarm {
|
||||
await ASF.GlobalDatabase.OnPICSChangesRestart(refreshBot, picsChanges.CurrentChangeNumber).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
LiveUpdate = true;
|
||||
|
||||
await PluginsCore.OnPICSChangesRestart(picsChanges.CurrentChangeNumber).ConfigureAwait(false);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
LiveUpdate = true;
|
||||
|
||||
if (ASF.GlobalDatabase != null) {
|
||||
ASF.GlobalDatabase.LastChangeNumber = picsChanges.CurrentChangeNumber;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user