Repository navigation
fix(ui): keep connections alive in wright ui - #864
Merged
Merged
Conversation
This was referenced Oct 20, 2026
Every response carried `Connection: close`, so Chrome closed a socket it may already have dispatched the next POST onto. The dropped request never reached the dispatch loop and the fetch hung, leaving the rule pane on "Loading rule…". tiny_http parks each connection's reader on its own socket inside an unbounded worker pool, so keep-alive is safe with the serial dispatch loop. Also retry the E2E profile cleanup so Chrome's lingering writes after SIGKILL do not fail a local run. Refs #862
e54-bot
force-pushed
the
fix/ui-e2e-flake
branch
from
October 20, 2026 14:31
80bcc97 to
5de2d05
Compare
wright uiwright ui
Teakowa
enabled auto-merge (squash)
October 20, 2026 14:31
This was referenced Oct 20, 2026
Teakowa
added a commit
that referenced
this pull request
Oct 20, 2026
Add four classes: unconditional async writes (#829/#863, escalated as wright#868), Connection: close dropping pipelined requests (#827→#864), E2E asserting before awaited state (#829→#863/#865), and dependency-bump footprint growth (#866). Co-authored-by: Teakowa <27560638+Teakowa@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Stops
wright uifrom dropping requests the browser already dispatched (#862).Every response advertised
Connection: close, so Chrome closed sockets it might already have dispatched the nextPOST /apionto. A POST is not retried at the network layer, so the fetch hung and the pane stayed on "Loading rule…". tiny_http parks each connection's reader task on its own socket inside an unbounded worker pool, so keep-alive cannot stall the serial dispatch loop.Also retries the local E2E profile cleanup, because Chrome keeps writing profile files briefly after SIGKILL.
The selection race in
load()that this branch also fixed is already onmain(#863); that change is dropped here. The browser E2E no longer runs in CI (#865).Verification
cargo fmt --check,cargo clippy -p wright-cli --all-targets -- -D warningscargo test -p wright-cli uinpm run test:e2e(31 consecutive passes before the rebase)