v-onboarding icon indicating copy to clipboard operation
v-onboarding copied to clipboard

`preventOverlayInteraction` doesn't remove all blocking listeners

Open spencerjsmall opened this issue 7 months ago • 1 comments

Hi! It appears that even with preventOverlayInteraction set to false, this package still applies blocking dom listeners that prevent clicks, focusin, etc.. The following workaround works locally, however in my production app these event listeners get wrapped by sentry and I'm unable to intercept them the same:

 const originalAddEventListener = document.addEventListener;
    document.addEventListener = function (type, listener, options) {
      const listenerStr = listener.toString();
      if (
        (type === 'click' && listenerStr.includes('checkClick')) ||
        (type === 'touchstart' && listenerStr.includes('checkPointerDown')) ||
        (type === 'mousedown' && listenerStr.includes('checkPointerDown')) ||
        (type === 'keydown' && listenerStr.includes('checkKey')) ||
        (type === 'focusin' && listenerStr.includes('checkFocusIn'))
      ) {
        return;
      }
      originalAddEventListener.call(this, type, listener, options);
    };

Is there a reason these blocking dom listeners are still being added? Thank you!

spencerjsmall avatar Jul 03 '24 15:07 spencerjsmall