We noticed some interactions were not being recorded (despite the event handler running and using main-thread time).
When debugging the issue it seems the event handlers were using preventDefault() when there's a value it doesn't want to deal with.
Below is a test case where you can try some letters (which generate performance entries), but if you try numbers nothing will come through (you can check the console).https://codepen.io/jasonwilliams1/pen/qByqJRy
(My guess is there's less work happening when a number is pressed and its below the threshold? I can also get it to happen if I put a long while loop inside the number check)
As a follow up, we noticed sometimes interactions don't show until the next paint happens, even if this paint is many seconds after (this I cannot reproduce right now sadly).
So for example, still using the test case above, if you type a number (doesn't trigger a paint because numbers don't show in the input), wait 4 seconds then type a letter the interaction comes through as 4 seconds long. This is misleading because it's not related to the time the handler is taking.
Has anyone else reported behavior anything like this before?