x11: prevent fatal WARP-CLIENT-BETA-STABLE-89S1 when setting WM hints fails - #18
Merged
Merged
Conversation
Author
|
This PR was generated with Warp. Comment |
advait-m
marked this pull request as ready for review
September 1, 2026 16:37
request_user_attention is best-effort. Ignore I/O errors from WmHints::set the same way get already falls back, so a dead connection cannot abort the process.
warp-agent-staging
Bot
changed the base branch from
master
to
warpdotdev/v0.30.x
September 1, 2026 19:05
warp-agent-staging
Bot
force-pushed
the
factory/x11-user-attention-no-panic
branch
from
September 1, 2026 19:05
eec3ac9 to
f401953
Compare
acarl005
approved these changes
Sep 1, 2026
4 tasks
acarl005
pushed a commit
to warpdotdev/warp
that referenced
this pull request
Sep 1, 2026
## Description Pin winit to [warpdotdev/winit#18](warpdotdev/winit#18) (`14db95a686387211d57cf2afd1d908b2d82a20fe`) so X11 `request_user_attention` no longer panics when `WmHints::set` fails on a dead connection. ## Linked Issue - [ ] The linked issue is labeled `ready-to-spec` or `ready-to-implement`. - [ ] Where appropriate, screenshots or a short video of the implementation are included below (especially for user-visible or UI changes). No GitHub issue. Requested after merging the winit fix. ## Testing - [ ] I have manually tested my changes locally with `./script/run` Metadata-only pin. `cargo metadata --locked` accepts the lockfile. On Linux, `cargo check -p winit --locked` and `cargo check -p warpui --locked` passed. ## Agent Mode - [ ] Warp Agent Mode - This PR was created via Warp's AI Agent Mode CHANGELOG-BUG-FIX: Prevent a crash on Linux/X11 when Warp requests user attention over a dead display connection. <!-- warp:pr-description-artifacts start --> <!-- warp:pr-description-artifacts end --> Co-authored-by: warp-agent-staging[bot] <240773466+warp-agent-staging[bot]@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.


Prevents fatal WARP-CLIENT-BETA-STABLE-89S1 / issue 7703839050. X11
request_user_attentionno longer panics whenWmHints::setreturns an I/O or connection error.Behavior is unchanged unless that WM_HINTS request fails. On success the cookie is still
ignore_error()'d, so X11 server errors stay ignored. On send failure the call now returns instead of aborting.changelogmodule if knowledge of this change could be valuable to users — no public API change except no panic on this send failureSummary
Warp rings the terminal bell while inactive through this best-effort API. A dead X11 connection made
expect_then_ignore_errorabort the process.Changes
WmHints::setsend errors as recoverable, matchingWmHints::getin the same function anddestroy_windowinDrop.warpdotdev/v0.30.x(Warp's pinned winit SHA) so the change lands in the source Warp actually uses.Verification
rustfmt +nightly --check --edition 2021 src/platform_impl/linux/x11/window.rspassed. Full-repocargo +nightly fmt -- --checkstill fails on pre-existing Warp patches inwindows/event_loop.rs, not this change.cargo check --no-default-features --features=x11passed