emilk / egui

egui: an easy-to-use immediate mode GUI in Rust that runs on both web and native
https://www.egui.rs/
Apache License 2.0
21.88k stars 1.58k forks source link

`display:none` on Input inserted by `TextAgent` #5041

Closed canselcik closed 3 weeks ago

canselcik commented 1 month ago

There isn't much to discuss as the change is very limited in scope. Doing this seems to break nothing for me, even on a mobile device while it fixes the regression explained in the linked issue.

canselcik commented 3 weeks ago

This whole thing is definitely some sort of Chrome bug or idiosyncrasy depending on how one likes to look at it. One good thing about it is that it only happens if you do overflow: hidden on the body, which I can live without. I'll close with this comment and keep it around for reference in case someone else also hits this strange behavior.

egui's current TextAgent (with our last modification that's already merged) is not causing this issue, the added eventListeners passive or not are also cleared. Even though they are all working together to have this behavior it happens if and only if the body has overflow: hidden, which is easy to avoid having.

If one must have overflow: hidden on the body, in that case what this PR is doing will fix their issue as long as it is not a touch capable device. And if you can use Firefox on this touch-capable device, no need for either.