I think we should expose the native focus/blur events to the web client. While you can get around by setting a listener to the corresponding events in the DOM's document window, this feels more technically correct as there is no guarantee that there is a 1:1 correspondence between the two events. Additionally, this is more resilient to edge cases that may arise around iframes and such.
Why
I think we should expose the native focus/blur events to the web client. While you can get around by setting a listener to the corresponding events in the DOM's document window, this feels more technically correct as there is no guarantee that there is a 1:1 correspondence between the two events. Additionally, this is more resilient to edge cases that may arise around iframes and such.
See Slack thread. Fixes WS-996.
What changed
Add onFocusChanged API
Test plan
Will test in follow up corresponding web branch / PR here: https://github.com/replit/repl-it-web/pull/36047