From 7abe2dc4ebe41d18ef151b9017813237de881728 Mon Sep 17 00:00:00 2001 From: Eduard Kuzmenko Date: Fri, 7 May 2021 01:26:47 +0400 Subject: [PATCH] Fix saving sent messages --- src/lib/appManagers/appMessagesManager.ts | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/lib/appManagers/appMessagesManager.ts b/src/lib/appManagers/appMessagesManager.ts index 5a09f187..77ce0277 100644 --- a/src/lib/appManagers/appMessagesManager.ts +++ b/src/lib/appManagers/appMessagesManager.ts @@ -3695,8 +3695,20 @@ export class AppMessagesManager { return false; } - const slice = historyStorage.history.insertSlice([message.mid]); - slice.setEnd(SliceEnd.Bottom); + // * catch situation with disconnect. if message's id is lower than we already have (in bottom end slice), will sort it + const firstSlice = historyStorage.history.first; + if(firstSlice.isEnd(SliceEnd.Bottom)) { + let i = 0; + for(const length = firstSlice.length; i < length; ++i) { + if(message.mid > firstSlice[i]) { + break; + } + } + + firstSlice.splice(i, 0, message.mid); + } else { + historyStorage.history.unshift(message.mid); + } if(historyStorage.count !== null) { historyStorage.count++;