From 3b68ef75b66f1afb67886a888beaa2468698a493 Mon Sep 17 00:00:00 2001 From: Jicheng Lu <103353@smsassist.com> Date: Mon, 13 May 2024 11:32:11 -0500 Subject: [PATCH] fix truncate breakpoint --- .../FileRepository/FileRepository.Conversation.cs | 7 +++---- .../Repository/MongoRepository.Conversation.cs | 3 +-- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/Infrastructure/BotSharp.Core/Repository/FileRepository/FileRepository.Conversation.cs b/src/Infrastructure/BotSharp.Core/Repository/FileRepository/FileRepository.Conversation.cs index 38f47f9f..5ccd3777 100644 --- a/src/Infrastructure/BotSharp.Core/Repository/FileRepository/FileRepository.Conversation.cs +++ b/src/Infrastructure/BotSharp.Core/Repository/FileRepository/FileRepository.Conversation.cs @@ -481,7 +481,7 @@ namespace BotSharp.Core.Repository // Handle truncated breakpoints var breakpointDir = Path.Combine(convDir, BREAKPOINT_FILE); var breakpoints = CollectConversationBreakpoints(breakpointDir); - isSaved = HandleTruncatedBreakpoints(breakpointDir, breakpoints, messageId); + isSaved = HandleTruncatedBreakpoints(breakpointDir, breakpoints, refTime); // Remove logs if (cleanLog) @@ -585,10 +585,9 @@ namespace BotSharp.Core.Repository return isSaved; } - private bool HandleTruncatedBreakpoints(string breakpointDir, List breakpoints, string refMessageId) + private bool HandleTruncatedBreakpoints(string breakpointDir, List breakpoints, DateTime refTime) { - var targetIdx = breakpoints.FindIndex(x => x.MessageId == refMessageId); - var truncatedBreakpoints = breakpoints?.Where((x, idx) => idx < targetIdx)? + var truncatedBreakpoints = breakpoints?.Where(x => x.CreatedTime < refTime)? .ToList() ?? new List(); var isSaved = SaveTruncatedBreakpoints(breakpointDir, truncatedBreakpoints); diff --git a/src/Plugins/BotSharp.Plugin.MongoStorage/Repository/MongoRepository.Conversation.cs b/src/Plugins/BotSharp.Plugin.MongoStorage/Repository/MongoRepository.Conversation.cs index cfd3199d..aefd0db5 100644 --- a/src/Plugins/BotSharp.Plugin.MongoStorage/Repository/MongoRepository.Conversation.cs +++ b/src/Plugins/BotSharp.Plugin.MongoStorage/Repository/MongoRepository.Conversation.cs @@ -452,8 +452,7 @@ public partial class MongoRepository if (!foundStates.Breakpoints.IsNullOrEmpty()) { var breakpoints = foundStates.Breakpoints ?? new List(); - var targetIdx = breakpoints.FindIndex(x => x.MessageId == messageId); - var truncatedBreakpoints = breakpoints.Where((x, idx) => idx < targetIdx).ToList(); + var truncatedBreakpoints = breakpoints.Where(x => x.CreatedTime < refTime).ToList(); foundStates.Breakpoints = truncatedBreakpoints; }