From a1bbda3de4741f715281ac2fe7fcac8b5edc17b7 Mon Sep 17 00:00:00 2001 From: nick-delirium Date: Fri, 24 Nov 2023 09:49:08 +0100 Subject: [PATCH] fix(tracker): add trycatch to ignore iframe errors --- tracker/tracker/CHANGELOG.md | 5 +++++ tracker/tracker/src/main/utils.ts | 18 ++++++++++++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/tracker/tracker/CHANGELOG.md b/tracker/tracker/CHANGELOG.md index c91e6a266..95b2d6ce8 100644 --- a/tracker/tracker/CHANGELOG.md +++ b/tracker/tracker/CHANGELOG.md @@ -1,3 +1,8 @@ +# 11.0.0 + +- canvas support +- some safety guards for iframe components + # 10.0.2 - fix default ignore headers diff --git a/tracker/tracker/src/main/utils.ts b/tracker/tracker/src/main/utils.ts index 96dee8f17..9dd27a21c 100644 --- a/tracker/tracker/src/main/utils.ts +++ b/tracker/tracker/src/main/utils.ts @@ -138,7 +138,14 @@ export function createEventListener( capture?: boolean, ) { const safeAddEventListener = ngSafeBrowserMethod('addEventListener') as 'addEventListener' - target[safeAddEventListener](event, cb, capture) + try { + target[safeAddEventListener](event, cb, capture) + } catch (e) { + console.debug( + // eslint-disable-next-line @typescript-eslint/restrict-template-expressions + `Openreplay: ${e.messages}; if this error is caused by an IframeObserver, ignore it`, + ) + } } export function deleteEventListener( @@ -150,7 +157,14 @@ export function deleteEventListener( const safeRemoveEventListener = ngSafeBrowserMethod( 'removeEventListener', ) as 'removeEventListener' - target[safeRemoveEventListener](event, cb, capture) + try { + target[safeRemoveEventListener](event, cb, capture) + } catch (e) { + console.debug( + // eslint-disable-next-line @typescript-eslint/restrict-template-expressions + `Openreplay: ${e.messages}; if this error is caused by an IframeObserver, ignore it`, + ) + } } /**