From a788fadb1c0aa67282c443db9444b568a90a3b98 Mon Sep 17 00:00:00 2001 From: nick-delirium Date: Thu, 29 Aug 2024 09:59:03 +0200 Subject: [PATCH] fixes 2511: remove canvas snapshot interval if its gone for any reason --- tracker/tracker/package.json | 2 +- tracker/tracker/src/main/app/canvas.ts | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/tracker/tracker/package.json b/tracker/tracker/package.json index ac8e58e72..b060a4278 100644 --- a/tracker/tracker/package.json +++ b/tracker/tracker/package.json @@ -1,7 +1,7 @@ { "name": "@openreplay/tracker", "description": "The OpenReplay tracker main package", - "version": "14.0.4", + "version": "14.0.5", "keywords": [ "logging", "replay" diff --git a/tracker/tracker/src/main/app/canvas.ts b/tracker/tracker/src/main/app/canvas.ts index 0230b2ec4..8d191585d 100644 --- a/tracker/tracker/src/main/app/canvas.ts +++ b/tracker/tracker/src/main/app/canvas.ts @@ -115,9 +115,15 @@ class CanvasRecorder { const int = setInterval(() => { const cid = this.app.nodes.getID(node) const canvas = cid ? this.app.nodes.getNode(cid) : undefined + if (!this.snapshots[id]) { + this.app.debug.log('Canvas is not present in {snapshots}') + clearInterval(int) + return + } if (!canvas || !hasTag(canvas, 'canvas') || canvas !== node) { this.app.debug.log('Canvas element not in sync') clearInterval(int) + return } else { if (!this.snapshots[id].paused) { if (this.options.useAnimationFrame) {