diff --git a/Daybreak.GWCA/CMakeLists.txt b/Daybreak.GWCA/CMakeLists.txt
index 1735060c..6dd38c3f 100644
--- a/Daybreak.GWCA/CMakeLists.txt
+++ b/Daybreak.GWCA/CMakeLists.txt
@@ -11,7 +11,7 @@ endif()
set(VERSION_MAJOR 0)
set(VERSION_MINOR 9)
set(VERSION_PATCH 9)
-set(VERSION_TWEAK 46)
+set(VERSION_TWEAK 47)
set(VERSION_RC "${CMAKE_CURRENT_BINARY_DIR}/version.rc")
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/version.rc.in" "${VERSION_RC}" @ONLY)
diff --git a/Daybreak/Daybreak.csproj b/Daybreak/Daybreak.csproj
index 4137d7d1..35b2bdb8 100644
--- a/Daybreak/Daybreak.csproj
+++ b/Daybreak/Daybreak.csproj
@@ -11,7 +11,7 @@
preview
Daybreak.ico
true
- 0.9.9.46
+ 0.9.9.47
true
cfb2a489-db80-448d-a969-80270f314c46
True
@@ -94,7 +94,7 @@
-
+
@@ -103,7 +103,7 @@
-
+
@@ -113,13 +113,14 @@
+
-
+
diff --git a/Daybreak/Services/BuildTemplates/BuildTemplateManager.cs b/Daybreak/Services/BuildTemplates/BuildTemplateManager.cs
index 5e0d3efc..360d01e5 100644
--- a/Daybreak/Services/BuildTemplates/BuildTemplateManager.cs
+++ b/Daybreak/Services/BuildTemplates/BuildTemplateManager.cs
@@ -71,7 +71,6 @@ public SingleBuildEntry CreateSingleBuild(string name)
public TeamBuildEntry CreateTeamBuild()
{
- var emptyBuild = new Build();
var name = Guid.NewGuid().ToString();
var entry = new TeamBuildEntry
{
@@ -85,7 +84,6 @@ public TeamBuildEntry CreateTeamBuild()
public TeamBuildEntry CreateTeamBuild(string name)
{
- var emptyBuild = new Build();
var entry = new TeamBuildEntry
{
Name = name,
diff --git a/Daybreak/Services/Images/ImageCache.cs b/Daybreak/Services/Images/ImageCache.cs
index 6eb96bf5..4269e837 100644
--- a/Daybreak/Services/Images/ImageCache.cs
+++ b/Daybreak/Services/Images/ImageCache.cs
@@ -65,7 +65,7 @@ public ImageCache(
try
{
- var imageSource = await this.GetImageInternal(uri, scopedLogger);
+ var imageSource = await new TaskFactory().StartNew(() => this.GetImageInternal(uri, scopedLogger), TaskCreationOptions.LongRunning).Unwrap();
return imageSource;
}
catch(Exception ex)
diff --git a/Daybreak/Services/Metrics/MetricsService.cs b/Daybreak/Services/Metrics/MetricsService.cs
index 674e8212..3f2a6900 100644
--- a/Daybreak/Services/Metrics/MetricsService.cs
+++ b/Daybreak/Services/Metrics/MetricsService.cs
@@ -116,7 +116,6 @@ public IEnumerable GetMetrics()
private void MeasurementRecorded(Instrument instrument, T measurement, ReadOnlySpan> tags, object? state)
{
MetricSet? newMetricSet = default;
- RecordedMetric? newRecordedMetric = default;
MetricsSemaphore.Wait();
if (measurement is null)
@@ -139,7 +138,7 @@ private void MeasurementRecorded(Instrument instrument, T measurement, ReadOn
metrics.RemoveFirst();
}
- newRecordedMetric = new RecordedMetric { Instrument = instrument, Metric = metric };
+ var newRecordedMetric = new RecordedMetric { Instrument = instrument, Metric = metric };
MetricsSemaphore.Release();
if (newMetricSet is not null)
diff --git a/Daybreak/Services/Pathfinding/SharpNavPathfinder.cs b/Daybreak/Services/Pathfinding/SharpNavPathfinder.cs
index 229080ad..21140184 100644
--- a/Daybreak/Services/Pathfinding/SharpNavPathfinder.cs
+++ b/Daybreak/Services/Pathfinding/SharpNavPathfinder.cs
@@ -48,7 +48,7 @@ public SharpNavPathfinder(
public async Task> CalculatePath(PathingData map, Point startPoint, Point endPoint, CancellationToken cancellationToken)
{
- return await new TaskFactory().StartNew(() => this.CalculatePathInternal(map, startPoint, endPoint, cancellationToken), cancellationToken, TaskCreationOptions.LongRunning, TaskScheduler.Current);
+ return await new TaskFactory().StartNew(() => this.CalculatePathInternal(map, startPoint, endPoint), cancellationToken, TaskCreationOptions.LongRunning, TaskScheduler.Current);
}
public Task GenerateNavMesh(List trapezoids, CancellationToken cancellationToken)
@@ -66,7 +66,7 @@ public async Task> CalculatePath
return new TaskFactory().StartNew(() => this.GenerateNavMesh(ConvertTrapezoidsToTriangles(trapezoids), settings), cancellationToken, TaskCreationOptions.LongRunning, TaskScheduler.Current);
}
- private Result CalculatePathInternal(PathingData pathingData, Point startPoint, Point endPoint, CancellationToken cancellationToken)
+ private Result CalculatePathInternal(PathingData pathingData, Point startPoint, Point endPoint)
{
var scopedLogger = this.logger.CreateScopedLogger(nameof(this.CalculatePath), string.Empty);
if (pathingData is null ||
diff --git a/Daybreak/Services/Screenshots/BackgroundProvider.cs b/Daybreak/Services/Screenshots/BackgroundProvider.cs
index 61b2bd6f..c4629f6e 100644
--- a/Daybreak/Services/Screenshots/BackgroundProvider.cs
+++ b/Daybreak/Services/Screenshots/BackgroundProvider.cs
@@ -41,7 +41,7 @@ public async Task GetBackground()
Random.Shared.Next(this.liveOptions.Value.LocalScreenshotsEnabled ? 0 : 50, 101) >= 50) ||
maybeImage is null)
{
- (var maybeRemoteImage, var credit) = await this.bloogumClient.GetImage(true).ConfigureAwait(true);
+ (var maybeRemoteImage, var credit) = await new TaskFactory().StartNew(() => this.bloogumClient.GetImage(true), TaskCreationOptions.LongRunning).Unwrap().ConfigureAwait(true);
maybeImage = maybeRemoteImage;
creditText = credit;
}
diff --git a/Daybreak/Services/Startup/Actions/CredentialsOptionsMigrator.cs b/Daybreak/Services/Startup/Actions/CredentialsOptionsMigrator.cs
index 0a4d3dde..b26e6366 100644
--- a/Daybreak/Services/Startup/Actions/CredentialsOptionsMigrator.cs
+++ b/Daybreak/Services/Startup/Actions/CredentialsOptionsMigrator.cs
@@ -5,6 +5,7 @@
using Newtonsoft.Json.Linq;
using System;
using System.Core.Extensions;
+using System.Extensions;
using System.Reflection;
namespace Daybreak.Services.Startup.Actions;
@@ -25,12 +26,20 @@ public CredentialsOptionsMigrator(
public override void ExecuteOnStartup()
{
+ var newOptionsKey = GetNewOptionsKey();
+ var scopedLogger = this.logger.CreateScopedLogger(nameof(this.ExecuteOnStartup), string.Empty);
+ if (this.optionsProvider.TryGetKeyedOptions(newOptionsKey) is JObject)
+ {
+ scopedLogger.LogDebug($"Found [{newOptionsKey}]. No migration needed");
+ return;
+ }
+
if (this.optionsProvider.TryGetKeyedOptions(OldOptionsKey) is not JObject options)
{
+ scopedLogger.LogDebug($"Could not find [{OldOptionsKey}]. No migration possible");
return;
}
- var newOptionsKey = GetNewOptionsKey();
this.logger.LogInformation($"Found [{OldOptionsKey}]. Migrating options to [{newOptionsKey}]");
this.optionsProvider.SaveRegisteredOptions(newOptionsKey, options);
}
diff --git a/Daybreak/Services/TradeChat/TradeAlertingService.cs b/Daybreak/Services/TradeChat/TradeAlertingService.cs
index 11494c7d..3befbf73 100644
--- a/Daybreak/Services/TradeChat/TradeAlertingService.cs
+++ b/Daybreak/Services/TradeChat/TradeAlertingService.cs
@@ -134,9 +134,9 @@ private async void StartAlertingService(CancellationToken cancellationToken)
}
await Task.WhenAll(
- this.CheckTraderQuotes(cancellationToken),
- this.CheckLiveTrades(this.kamadanTradeChatService, TraderSource.Kamadan, cancellationToken),
- this.CheckLiveTrades(this.ascalonTradeChatService, TraderSource.Ascalon, cancellationToken));
+ new TaskFactory().StartNew(() => this.CheckTraderQuotes(cancellationToken), cancellationToken, TaskCreationOptions.LongRunning, TaskScheduler.Current).Unwrap(),
+ new TaskFactory().StartNew(() => this.CheckLiveTrades(this.kamadanTradeChatService, TraderSource.Kamadan, cancellationToken), cancellationToken, TaskCreationOptions.LongRunning, TaskScheduler.Current).Unwrap(),
+ new TaskFactory().StartNew(() => this.CheckLiveTrades(this.ascalonTradeChatService, TraderSource.Ascalon, cancellationToken), cancellationToken, TaskCreationOptions.LongRunning, TaskScheduler.Current).Unwrap());
}
private async Task CheckLiveTrades(ITradeChatService tradeChatService, TraderSource traderSource, CancellationToken cancellationToken)
diff --git a/GWCA b/GWCA
index f424ed46..2e2bf319 160000
--- a/GWCA
+++ b/GWCA
@@ -1 +1 @@
-Subproject commit f424ed4612f5514a6e9d8f500164d5f1242d033e
+Subproject commit 2e2bf3192f16e14e4221a63211f22440037bddd1