2f6f2c68

By: Michael Lynch <git@mtlynch.io>

Fix flaky chat e2e tests by holding the "c" key like other tests

`keyboard.press("c")` fires keydown and keyup back-to-back (~0.5ms
apart), faster than an animation frame. Phaser's KeyboardManager
queues both native events and processes them together once per
frame; Key.onUp() unconditionally clears `_justDown`, so a same-frame
down+up cancels itself out before Scene.update() ever reads
JustDown(). The result: chat.open() silently never runs, and
`#chat-log` never gets the `chat-history-open` class.

This reproduced consistently (confirmed with `nix build --keep-failed`
trace/error-context output and by instrumenting the DOM keydown/keyup
events and Phaser's key state directly), not just under nix sandbox
load: "chat history is available to later joiners when they open
chat" failed 100% of standalone re-runs before this fix and passed
100% after.

Three tests used the fragile `press("c")` pattern. The rest of the
suite already worked around this exact race with an explicit
`keyboard.down("c")` / `waitForTimeout(50)` / `keyboard.up("c")`
sequence that guarantees an animation frame lands between the two
events. Apply that same pattern to the remaining three call sites.
Codeberg
configure