Hot reload wiped state. Worse for the product: a real window reload did too. I wrote we moved the web game to React. The test I use now is one sentence: what happens on refresh?
Leave, enter, reload
Those three were the bugs. The game had to know who was still in the room. Flutter web treated them like a fresh start more than we could live with.
Phone was fine
The mobile target was not the reason we left Flutter web. The web target was. Flutter stayed on the other surfaces.
The question before I pick a target
If refresh loses the room, it is not a styling issue. TV was separate: not a layout tweak.