From 595e9d9b623dc275ea444ad1edeeea5ba0293fb2 Mon Sep 17 00:00:00 2001 From: Alex Kaminskii Date: Fri, 20 Jan 2023 16:27:33 +0100 Subject: [PATCH] fix(player): filter messages by type before appending into the DOMManager --- frontend/app/player/common/ListWalker.ts | 2 +- frontend/app/player/web/MessageManager.ts | 3 ++- frontend/app/player/web/messages/filters.gen.ts | 9 +++++++++ .../frontend~app~player~web~messages~filters.gen.ts.erb | 9 +++++++++ 4 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 frontend/app/player/web/messages/filters.gen.ts create mode 100644 mobs/templates/frontend~app~player~web~messages~filters.gen.ts.erb diff --git a/frontend/app/player/common/ListWalker.ts b/frontend/app/player/common/ListWalker.ts index 43cf88ea9..fbd44007b 100644 --- a/frontend/app/player/common/ListWalker.ts +++ b/frontend/app/player/common/ListWalker.ts @@ -6,7 +6,7 @@ export default class ListWalker { append(m: T): void { if (this.length > 0 && this.last && m.time < this.last.time) { - console.error("Trying to append message with the less time then the list tail:", m.time, 'vs', this.last.time, m) + console.error("Trying to append message with the less time then the list tail:", m.time, 'vs', this.last.time, m, this) return } this.list.push(m); diff --git a/frontend/app/player/web/MessageManager.ts b/frontend/app/player/web/MessageManager.ts index 8c5c55bb2..2e6a8bf9f 100644 --- a/frontend/app/player/web/MessageManager.ts +++ b/frontend/app/player/web/MessageManager.ts @@ -20,6 +20,7 @@ import ActivityManager from './managers/ActivityManager'; import MFileReader from './messages/MFileReader'; import { MType } from './messages'; +import { isDOMType } from './messages/filters.gen'; import type { Message, SetPageLocation, @@ -473,7 +474,7 @@ export default class MessageManager { break; } this.performanceTrackManager.addNodeCountPointIfNeed(msg.time) - this.pagesManager.appendMessage(msg); + isDOMType(msg.tp) && this.pagesManager.appendMessage(msg) break; } } diff --git a/frontend/app/player/web/messages/filters.gen.ts b/frontend/app/player/web/messages/filters.gen.ts new file mode 100644 index 000000000..79f284596 --- /dev/null +++ b/frontend/app/player/web/messages/filters.gen.ts @@ -0,0 +1,9 @@ +// Auto-generated, do not edit +/* eslint-disable */ + +import { MType } from './raw.gen' + +const DOM_TYPES = [0,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,37,38,49,54,55,57,58,59,60,61,67,69,70,71,72,73,74,75,76,77,90,93,96,100,102,103,105] +export function isDOMType(t: MType) { + return DOM_TYPES.includes(t) +} \ No newline at end of file diff --git a/mobs/templates/frontend~app~player~web~messages~filters.gen.ts.erb b/mobs/templates/frontend~app~player~web~messages~filters.gen.ts.erb new file mode 100644 index 000000000..370d27798 --- /dev/null +++ b/mobs/templates/frontend~app~player~web~messages~filters.gen.ts.erb @@ -0,0 +1,9 @@ +// Auto-generated, do not edit +/* eslint-disable */ + +import { MType } from './raw.gen' + +const DOM_TYPES = [<%= $messages.select { |msg| msg.replayer == true }.map { |msg| "#{msg.id}" }.join "," %>] +export function isDOMType(t: MType) { + return DOM_TYPES.includes(t) +} \ No newline at end of file