SHOWING changelog everytime till the got it button is pressed, should reappear on version updates according to the current settings

This commit is contained in:
choco
2025-10-16 23:03:32 +02:00
parent 9170b5205c
commit 8fdff1eb18
2 changed files with 14 additions and 14 deletions

View File

@@ -159,23 +159,15 @@ public class LightlessPlugin : MediatorSubscriberBase, IHostedService
var currentVersion = ver == null ? string.Empty : $"{ver.Major}.{ver.Minor}.{ver.Build}"; var currentVersion = ver == null ? string.Empty : $"{ver.Major}.{ver.Minor}.{ver.Build}";
var lastSeen = _lightlessConfigService.Current.LastSeenVersion ?? string.Empty; var lastSeen = _lightlessConfigService.Current.LastSeenVersion ?? string.Empty;
Logger?.LogDebug("Last seen version: {lastSeen}, current version: {currentVersion}", lastSeen, currentVersion); Logger?.LogDebug("Last seen version: {lastSeen}, current version: {currentVersion}", lastSeen, currentVersion);
// for testing c:
// Mediator.Publish(new UiToggleMessage(typeof(UpdateNotesUi)));
if (string.IsNullOrEmpty(lastSeen)) // Show update notes if version has changed and user has valid setup
{ if (!string.IsNullOrEmpty(lastSeen) &&
_lightlessConfigService.Current.LastSeenVersion = currentVersion; !string.Equals(lastSeen, currentVersion, StringComparison.Ordinal) &&
_lightlessConfigService.Save(); _lightlessConfigService.Current.HasValidSetup() &&
} _serverConfigurationManager.HasValidConfig())
else if (!string.Equals(lastSeen, currentVersion, StringComparison.Ordinal))
{
if (_lightlessConfigService.Current.HasValidSetup() && _serverConfigurationManager.HasValidConfig())
{ {
Mediator.Publish(new UiToggleMessage(typeof(UpdateNotesUi))); Mediator.Publish(new UiToggleMessage(typeof(UpdateNotesUi)));
} }
_lightlessConfigService.Current.LastSeenVersion = currentVersion;
_lightlessConfigService.Save();
}
#if !DEBUG #if !DEBUG
if (_lightlessConfigService.Current.LogLevel != LogLevel.Information) if (_lightlessConfigService.Current.LogLevel != LogLevel.Information)

View File

@@ -20,6 +20,7 @@ namespace LightlessSync.UI;
public class UpdateNotesUi : WindowMediatorSubscriberBase public class UpdateNotesUi : WindowMediatorSubscriberBase
{ {
private readonly UiSharedService _uiShared; private readonly UiSharedService _uiShared;
private readonly LightlessConfigService _configService;
private ChangelogFile _changelog = new(); private ChangelogFile _changelog = new();
private CreditsFile _credits = new(); private CreditsFile _credits = new();
@@ -65,6 +66,7 @@ public class UpdateNotesUi : WindowMediatorSubscriberBase
: base(logger, mediator, "Lightless Sync — Update Notes", performanceCollectorService) : base(logger, mediator, "Lightless Sync — Update Notes", performanceCollectorService)
{ {
_uiShared = uiShared; _uiShared = uiShared;
_configService = configService;
AllowClickthrough = false; AllowClickthrough = false;
AllowPinning = false; AllowPinning = false;
@@ -576,6 +578,12 @@ public class UpdateNotesUi : WindowMediatorSubscriberBase
{ {
if (ImGui.Button("Got it!", new Vector2(closeWidth, closeHeight))) if (ImGui.Button("Got it!", new Vector2(closeWidth, closeHeight)))
{ {
// Update last seen version when user acknowledges the update notes
var ver = Assembly.GetExecutingAssembly().GetName().Version;
var currentVersion = ver == null ? string.Empty : $"{ver.Major}.{ver.Minor}.{ver.Build}";
_configService.Current.LastSeenVersion = currentVersion;
_configService.Save();
IsOpen = false; IsOpen = false;
} }
} }