daemon: settle the ownership keystroke before asserting a quiet report #185
No reviewers
Labels
No labels
Area/ci
Area/cli
Area/client
Area/client-core
Area/daemon
Area/deps
Area/docs
Area/grid
Area/manual
Area/nix
Area/protocol
Area/pty
Area/render
Area/shaping
Area/skills
Area/transport
Area/vt
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Performance
Kind/Security
Kind/Testing
perf-regression-accepted
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Blocked
Status
Need More Info
Status
Upstream
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
felis-terminal/felis!185
Loading…
Reference in a new issue
No description provided.
Delete branch "daemon/mirror-report-flake"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
serve::session_task::tests::a_mirrors_report_is_stored_but_the_owner_still_answersfailed intermittently under load (locally during full runs, and on CI for #174) with "presentation reports are query-answering state: nothing is pushed to any window".The test takes input ownership by writing
kto the shell, and the tty echoes it back. Everyhandle_inputends ingrid_cycle_for, so when the echo reached the grid before one of the laterColorSchemereports, that report's cycle shipped it. The stray events were exactly aRowDeltafor row 0 (k) and aCursorStateat column 1; the reports themselves push nothing.Change
Wait for the echo, ship it with
after_drive, and drain both receivers before the reports, the same settle stepa_resize_answers_an_idle_mirrors_armed_pull_exactly_onceuses. Test-only.Verification
Running the test binary with
--exactin 24 parallel loops: 9 of 360 runs failed before the fix, 0 of 720 after.session_tasktests (111), clippy and prose-check are clean.