From 64ed111669485e5d8dc18de43f8dcdaf2162b73d Mon Sep 17 00:00:00 2001 From: Francesco Novy Date: Wed, 26 Jul 2023 11:18:12 +0200 Subject: [PATCH] fix(replay): Ignore clicks with `shift` pressed Apparently click+shift also opens a link in a new tab (and focuses the tab immediately), so we also need to ignore such clicks for slow click detection. --- packages/replay/src/coreHandlers/handleDom.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/replay/src/coreHandlers/handleDom.ts b/packages/replay/src/coreHandlers/handleDom.ts index 71fb211ee3fe..e97e3fe5b8fe 100644 --- a/packages/replay/src/coreHandlers/handleDom.ts +++ b/packages/replay/src/coreHandlers/handleDom.ts @@ -27,8 +27,16 @@ export const handleDomListener: (replay: ReplayContainer) => (handlerData: DomHa const isClick = handlerData.name === 'click'; const event = isClick && (handlerData.event as PointerEvent); - // Ignore clicks if ctrl/alt/meta keys are held down as they alter behavior of clicks (e.g. open in new tab) - if (isClick && replay.clickDetector && event && !event.altKey && !event.metaKey && !event.ctrlKey) { + // Ignore clicks if ctrl/alt/meta/shift keys are held down as they alter behavior of clicks (e.g. open in new tab) + if ( + isClick && + replay.clickDetector && + event && + !event.altKey && + !event.metaKey && + !event.ctrlKey && + !event.shiftKey + ) { handleClick( replay.clickDetector, result as Breadcrumb & { timestamp: number; data: { nodeId: number } },