Skip to content

Bump pinned winit to recover from WM hints send failure on X11 - #98

Draft
warp-agent-staging[bot] wants to merge 1 commit into
benchmark-base/09f0c2bf7c5f5ab0c47df768f5abf26b7607eacafrom
benchmark-run-114-trial-7190-attempt-1/01a0ea45-f2e5-76ec-b364-82e14616ab71/bump-winit-wm-hints-panic-fix
Draft

warp-agent-staging[bot] wants to merge 1 commit into
benchmark-base/09f0c2bf7c5f5ab0c47df768f5abf26b7607eacafrom
benchmark-run-114-trial-7190-attempt-1/01a0ea45-f2e5-76ec-b364-82e14616ab71/bump-winit-wm-hints-panic-fix

Conversation

@warp-agent-staging

Copy link
Copy Markdown

Description

On Linux/X11, ringing the terminal bell while the window is inactive routes through winit's Window::request_user_attention, which sets the urgency WM hint. In the pinned winit (a4e0ecb5) that call used expect_then_ignore_error, panicking if the request could not be sent over the X11 connection. On a dead connection the panic aborts the process — Sentry WARP-CLIENT-BETA-STABLE-89S1.

This bumps the pinned winit/dpi revision 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 commit a4e0ecb5).

No winit dependency requirements changed, so the only Cargo.lock movement is the two git source revs for winit and dpi; cargo metadata --locked confirms the lockfile stays consistent.

Linked Issue

Tracked via Sentry WARP-CLIENT-BETA-STABLE-89S1; no GitHub issue.

  • The linked issue is labeled ready-to-spec or ready-to-implement — n/a, no GitHub issue.
  • Screenshots/video — not applicable; no UI surface changes.

Testing

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.

  • I have manually tested my changes locally with ./script/run — not run; this is a dependency-pin bump validated via cargo metadata --locked and upstream checks.

Agent Mode

  • Warp Agent Mode - This PR was created via Warp's AI Agent Mode

This PR was created by Warp (running Claude Code).

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants