As a user,
I want your application to randomly steal focus
So that,
I enter my password managers main password into a chat box

@xssfox UI updating or refreshing in ways that change what actions do after an interactive screen has been presented to the user is one of my toxic patterns.

I think UI should be turn based, not like a first person shooter.

@larsmb @xssfox
Yeah. Race conditions between me and the UI are infuriating.
And the worst thing is, I don't remember them being a thing in 2010, even though I have a much slower comouter back then.
@wolf480pl @xssfox I think it's the consequence of more and more "responsive" UI frameworks.
Designers and developers greedily accept them and we're now beginning to pay that price.
Hopefully, a solution will emerge.
Turn-based frameworks, or patterns that ensure that behavior invoked by already visible elements is immutable or only ever switches to doing nothing.
@larsmb @xssfox
That'd be interesting.
Kinda reminds me of how in wayland, if you want to change the way your window is being displayed on screen, you need to give the compositor the ID of an input event through which you think the user requested that change.
Imagine that but on a per-widget level.

@larsmb @xssfox
OTOH, pretty sure back in WinXP and gtk2 days it was possible to change UI elements without user interaction, it's just that it was usually fast enough the user couldn't outrun the code.

Which didn't eliminate all race conditions (eg. popup stealing your focus) but did eliminate some classes of them (eg. UI shifting from under your mouse; starting typing too quickly before focus changes, etc)

@larsmb I just realized HTML forms and install wizards are a form of turn-based UI