From 131f2feeab29647c4e0415a7e5748e64f87d3d6f Mon Sep 17 00:00:00 2001 From: Chomp Date: Thu, 7 Aug 2025 18:16:13 +0100 Subject: [PATCH] Added nullguard to `RemoveExpiredItemsFromMessage` + chagned parameter to MongoId --- .../Controllers/DialogueController.cs | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/Libraries/SPTarkov.Server.Core/Controllers/DialogueController.cs b/Libraries/SPTarkov.Server.Core/Controllers/DialogueController.cs index 46d6f79f..265841a7 100644 --- a/Libraries/SPTarkov.Server.Core/Controllers/DialogueController.cs +++ b/Libraries/SPTarkov.Server.Core/Controllers/DialogueController.cs @@ -554,7 +554,7 @@ public class DialogueController( /// /// Session id /// Dialog id - protected void RemoveExpiredItemsFromMessage(MongoId sessionId, string dialogueId) + protected void RemoveExpiredItemsFromMessage(MongoId sessionId, MongoId dialogueId) { var dialogs = dialogueHelper.GetDialogsForProfile(sessionId); if (!dialogs.TryGetValue(dialogueId, out var dialog)) @@ -562,12 +562,15 @@ public class DialogueController( return; } - foreach (var message in dialog.Messages ?? []) + if (dialog.Messages is null) { - if (MessageHasExpired(message)) - { - message.Items = new MessageItems(); - } + return; + } + + foreach (var message in dialog.Messages.Where(MessageHasExpired)) + { + // Reset expired message items data + message.Items = new(); } }