Bump pinned winit to recover from WM hints send failure on X11 - #98
Conversation
Warp aborts (Sentry WARP-CLIENT-BETA-STABLE-89S1) when the terminal bell rings while the window is inactive on Linux/X11: `request_user_attention` set the urgency WM hint with `expect_then_ignore_error`, which panics if the request cannot be sent over a dead X11 connection. Point the winit/dpi pin at winit e69874f6, which makes that send failure recoverable (logs a warning and returns) while still ignoring the cookie on success. No winit dependency requirements changed, so only the two git source revs move in Cargo.lock. winit PR: warpdotdev/winit#38
5 tasks
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.
Description
On Linux/X11, ringing the terminal bell while the window is inactive routes through
winit'sWindow::request_user_attention, which sets the urgency WM hint. In the pinned winit (a4e0ecb5) that call usedexpect_then_ignore_error, panicking if the request could not be sent over the X11 connection. On a dead connection the panic aborts the process — SentryWARP-CLIENT-BETA-STABLE-89S1.This bumps the pinned
winit/dpirevision to one where the send failure is recoverable: it logs a warning and returns, while still ignoring the cookie on success so the healthy path is unchanged. The fix lives in winit — see warpdotdev/winit#38 (applied on top of the previously pinned commita4e0ecb5).No winit dependency requirements changed, so the only Cargo.lock movement is the two git
sourcerevs forwinitanddpi;cargo metadata --lockedconfirms the lockfile stays consistent.Linked Issue
Tracked via Sentry
WARP-CLIENT-BETA-STABLE-89S1; no GitHub issue.ready-to-specorready-to-implement— n/a, no GitHub issue.Testing
cargo metadata --lockedin this repo — resolves cleanly against the new pin (lockfile consistent, no further churn).cargo checkandcargo clippyon the X11 feature set pass; see x11: don't panic in request_user_attention when WM hints send fails winit#38 for details.Reaching the crashing branch requires a live window bound to a dead X11 connection, which has no test seam in winit; the upstream change is a mechanical panic→log conversion reusing the existing
ignore_error()idiom../script/run— not run; this is a dependency-pin bump validated viacargo metadata --lockedand upstream checks.Agent Mode
This PR was created by Warp (running Claude Code).