From 9622e5dc9d1f792773de70a144f586d83ebbdfdc Mon Sep 17 00:00:00 2001 From: Eoghan Murray Date: Wed, 1 Apr 2026 12:00:00 +0800 Subject: [PATCH] The type system was complaining about the remote possibility that `e` ended up as a TouchEvent instead of an individual Touch object I think --- packages/rrweb/src/record/observer.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/rrweb/src/record/observer.ts b/packages/rrweb/src/record/observer.ts index 31f77298..6771cf2a 100644 --- a/packages/rrweb/src/record/observer.ts +++ b/packages/rrweb/src/record/observer.ts @@ -238,11 +238,12 @@ function initMouseInteractionObserver({ return; } let pointerType: PointerTypes | null = null; - let e = event; - if ('pointerType' in e) { + if ('pointerType' in event) { Object.keys(PointerTypes).forEach( (pointerKey: keyof typeof PointerTypes) => { - if ((e as PointerEvent).pointerType === pointerKey.toLowerCase()) { + if ( + (event as PointerEvent).pointerType === pointerKey.toLowerCase() + ) { pointerType = PointerTypes[pointerKey]; return; } @@ -262,7 +263,6 @@ function initMouseInteractionObserver({ // TODO: these will get incorrectly emitted as MouseDown/MouseUp } } else if (legacy_isTouchEvent(event)) { - e = event.changedTouches[0]; pointerType = PointerTypes.Touch; } if (pointerType !== null) { @@ -271,6 +271,7 @@ function initMouseInteractionObserver({ pointerType = currentPointerType; currentPointerType = null; // cleanup as we've used it } + const e = legacy_isTouchEvent(event) ? event.changedTouches[0] : event; if (!e) { return; }