diff --git a/Content.Client/Changelog/ChangelogManager.cs b/Content.Client/Changelog/ChangelogManager.cs index 657d0cb3ac..545d001aab 100644 --- a/Content.Client/Changelog/ChangelogManager.cs +++ b/Content.Client/Changelog/ChangelogManager.cs @@ -52,6 +52,7 @@ namespace Content.Client.Changelog // Open changelog purely to compare to the last viewed date. var changelogs = await LoadChangelog(); UpdateChangelogs(changelogs); + _configManager.OnValueChanged(CCVars.ServerId, OnServerIdCVarChanged); } private void UpdateChangelogs(List changelogs) @@ -81,6 +82,11 @@ namespace Content.Client.Changelog MaxId = changelog.Entries.Max(c => c.Id); + CheckLastSeenEntry(); + } + + private void CheckLastSeenEntry() + { var path = new ResPath($"/changelog_last_seen_{_configManager.GetCVar(CCVars.ServerId)}"); if (_resource.UserData.TryReadAllText(path, out var lastReadIdText)) { @@ -92,6 +98,11 @@ namespace Content.Client.Changelog NewChangelogEntriesChanged?.Invoke(); } + private void OnServerIdCVarChanged(string newValue) + { + CheckLastSeenEntry(); + } + public Task> LoadChangelog() { return Task.Run(() =>