From 42f589f58d62aaf8c3de3f1a9dc4bf8429b83cc4 Mon Sep 17 00:00:00 2001 From: Bastien Caudan Date: Tue, 24 Nov 2020 12:09:02 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20[RUMF-791]=20prevent=20IE11=20pe?= =?UTF-8?q?rformance=20entry=20error=20(#633)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * šŸ› [RUMF-791] prevent IE11 performance entry error toJSON is not available in IE11, prevent execution error * :ok_hand: different form Co-authored-by: BenoĆ®t Zugmeyer Co-authored-by: BenoĆ®t Zugmeyer --- .../rumEventsCollection/resource/matchRequestTiming.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/rum/src/domain/rumEventsCollection/resource/matchRequestTiming.ts b/packages/rum/src/domain/rumEventsCollection/resource/matchRequestTiming.ts index 2c7add5d78..783ab7f927 100644 --- a/packages/rum/src/domain/rumEventsCollection/resource/matchRequestTiming.ts +++ b/packages/rum/src/domain/rumEventsCollection/resource/matchRequestTiming.ts @@ -24,8 +24,13 @@ export function matchRequestTiming(request: RequestCompleteEvent) { if (!performance || !('getEntriesByName' in performance)) { return } - const candidates = performance - .getEntriesByName(request.url, 'resource') + const sameNameEntries = performance.getEntriesByName(request.url, 'resource') + + if (!sameNameEntries.length || !('toJSON' in sameNameEntries[0])) { + return + } + + const candidates = sameNameEntries .map((entry) => entry.toJSON() as RumPerformanceResourceTiming) .filter(toValidEntry) .filter((entry) => isBetween(entry, request.startTime, endTime(request)))