From 2d094404df5279c138eb1e234824977b1e4468bd Mon Sep 17 00:00:00 2001 From: choco Date: Thu, 16 Oct 2025 23:21:14 +0200 Subject: [PATCH] proper version checker on plugin laoding --- LightlessSync/LightlessPlugin.cs | 36 +++++++++++++++++++------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/LightlessSync/LightlessPlugin.cs b/LightlessSync/LightlessPlugin.cs index 9dc0f99..327c4a6 100644 --- a/LightlessSync/LightlessPlugin.cs +++ b/LightlessSync/LightlessPlugin.cs @@ -9,6 +9,7 @@ using LightlessSync.UI; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; +using Serilog; using System.Reflection; namespace LightlessSync; @@ -101,6 +102,8 @@ public class LightlessPlugin : MediatorSubscriberBase, IHostedService UIColors.Initialize(_lightlessConfigService); Mediator.StartQueueProcessing(); + + CheckVersion(); return Task.CompletedTask; } @@ -115,6 +118,24 @@ public class LightlessPlugin : MediatorSubscriberBase, IHostedService return Task.CompletedTask; } + + private void CheckVersion() + { + var ver = Assembly.GetExecutingAssembly().GetName().Version; + var currentVersion = ver == null ? string.Empty : $"{ver.Major}.{ver.Minor}.{ver.Build}"; + var lastSeen = _lightlessConfigService.Current.LastSeenVersion ?? string.Empty; + Logger.LogInformation("Last seen version: {lastSeen}, current version: {currentVersion}", lastSeen, currentVersion); + Logger.LogInformation("User has valid setup: {hasValidSetup}", _lightlessConfigService.Current.HasValidSetup()); + Logger.LogInformation("Server has valid config: {hasValidConfig}", _serverConfigurationManager.HasValidConfig()); + // Show update notes if version has changed and user has valid setup + if (!string.IsNullOrEmpty(lastSeen) && + !string.Equals(lastSeen, currentVersion, StringComparison.Ordinal) && + _lightlessConfigService.Current.HasValidSetup() && + _serverConfigurationManager.HasValidConfig()) + { + Mediator.Publish(new UiToggleMessage(typeof(UpdateNotesUi))); + } + } private void DalamudUtilOnLogIn() { @@ -154,21 +175,6 @@ public class LightlessPlugin : MediatorSubscriberBase, IHostedService _runtimeServiceScope.ServiceProvider.GetRequiredService(); _runtimeServiceScope.ServiceProvider.GetRequiredService(); _runtimeServiceScope.ServiceProvider.GetRequiredService(); - - var ver = Assembly.GetExecutingAssembly().GetName().Version; - var currentVersion = ver == null ? string.Empty : $"{ver.Major}.{ver.Minor}.{ver.Build}"; - var lastSeen = _lightlessConfigService.Current.LastSeenVersion ?? string.Empty; - Logger?.LogDebug("Last seen version: {lastSeen}, current version: {currentVersion}", lastSeen, currentVersion); - - // Show update notes if version has changed and user has valid setup - if (!string.IsNullOrEmpty(lastSeen) && - !string.Equals(lastSeen, currentVersion, StringComparison.Ordinal) && - _lightlessConfigService.Current.HasValidSetup() && - _serverConfigurationManager.HasValidConfig()) - { - Mediator.Publish(new UiToggleMessage(typeof(UpdateNotesUi))); - } - #if !DEBUG if (_lightlessConfigService.Current.LogLevel != LogLevel.Information) {