From e2fa3c91e22c5d34fe02a0b7da17a27fea1c3fc9 Mon Sep 17 00:00:00 2001 From: nick-delirium Date: Thu, 27 Feb 2025 17:48:47 +0100 Subject: [PATCH] ui: fix tabclose events distribution --- frontend/app/player/web/MessageManager.ts | 8 ++++++-- frontend/app/player/web/TabManager.ts | 4 +++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/frontend/app/player/web/MessageManager.ts b/frontend/app/player/web/MessageManager.ts index d09c3f241..e38339163 100644 --- a/frontend/app/player/web/MessageManager.ts +++ b/frontend/app/player/web/MessageManager.ts @@ -221,8 +221,9 @@ export default class MessageManager { } } - lastMsgArr.sort((a, b) => a[1] - b[1]); - lastMsgArr.forEach(([tabId, lastMessageTs]) => { + lastMsgArr + .sort((a, b) => a[1] - b[1]) + .forEach(([tabId, lastMessageTs]) => { this.tabCloseManager.append({ tabId, time: lastMessageTs }); }); }; @@ -371,6 +372,9 @@ export default class MessageManager { this.mouseThrashingManager.append(msg); break; case MType.MouseMove: + if (this.tabs[msg.tabId].lastMessageTs < msg.time) { + this.tabs[msg.tabId].lastMessageTs = msg.time; + } this.mouseMoveManager.append(msg); break; case MType.MouseClickDeprecated: diff --git a/frontend/app/player/web/TabManager.ts b/frontend/app/player/web/TabManager.ts index 4e2cb61d3..b9af590b3 100644 --- a/frontend/app/player/web/TabManager.ts +++ b/frontend/app/player/web/TabManager.ts @@ -200,7 +200,9 @@ export default class TabSessionManager { firstTitleSet = false distributeMessage(msg: Message): void { - this.lastMessageTs = msg.time; + if (this.lastMessageTs < msg.time) { + this.lastMessageTs = msg.time; + } switch (msg.tp) { case MType.CanvasNode: const managerId = `${msg.timestamp}_${msg.nodeId}`;