Skip to content
This repository was archived by the owner on Oct 30, 2026. It is now read-only.

Set no Wayland or toolkit variables without a compositor - #319

Closed
jsegaran wants to merge 1 commit into
mainfrom
jsegaran/eng-4014-no-wayland-env-without-compositor
Closed

jsegaran wants to merge 1 commit into
mainfrom
jsegaran/eng-4014-no-wayland-env-without-compositor

Conversation

@jsegaran

Copy link
Copy Markdown
Contributor

Fixes ENG-4014.

On non-Linux, blit_compositor::spawn_compositor is a stub with socket_name: String::new(), but PTY CREATE/RESTART and PROCESS_SPAWN_SESSION_ENV still pass Some("") to app_env::session_env. Since e3c4ca8 (v0.50.0) that exports WAYLAND_DISPLAY= plus every toolkit_env pin (QT_QPA_PLATFORM=wayland, GDK_BACKEND=wayland, SDL_VIDEODRIVER=wayland, XDG_SESSION_TYPE=wayland, ...) into every macOS shell. Qt apps there then abort with "Could not find the Qt platform plugin "wayland" ... Available platform plugins are: cocoa" (seen with the Android emulator from the Indent desktop app).

session_env now treats an empty socket name as no display. Linux is unchanged: a real compositor always has a non-empty socket path.

Testing: new an_empty_socket_name_sets_no_display_variables unit test; it fails without the fix and passes with it. cargo test -p blit-server --lib app_env, cargo fmt -- --check and cargo clippy -p blit-server --all-targets -- -D warnings (Rust 1.97.1) pass.

Rollout: needs a blit release, then a @blit-sh/* bump in neo and a desktop app build. yas-run/yas has the same if let Some(wd) = wayland_display in crates/server/src/app_env.rs and the same empty-name stub, so the one-line change applies there too.

View in Indent
Tag @indent to continue the conversation here.

Off Linux the compositor is a stub whose socket name is empty, but every
PTY CREATE still passed Some("") to session_env, which exported an empty
WAYLAND_DISPLAY and pinned Qt, GTK, SDL, Electron and Firefox to Wayland.
On macOS a Qt app then aborts: "Could not find the Qt platform plugin
wayland ... Available platform plugins are: cocoa".
@linear-code

linear-code Bot commented Oct 26, 2026

Copy link
Copy Markdown

ENG-4014

@indent

indent Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

Issues

No issues found.

CI Checks

All CI checks now pass on a891b90. The earlier coverage failure was a transient GitHub API error and cleared on re-run.

Review agents

Select any unchecked box below to run or rerun that agent.

Passed (1)
  • Indent Review Agent · No issues found.
Full results

Indent Review Agent

  • Summary: No issues found.
  • Last ran on commit: a891b904
  • Latest result
    {
      "summary": "No issues found.",
      "findings": []
    }

View session

@github-actions

Copy link
Copy Markdown

Coverage

Crate Lines Functions Regions
alacritty-driver 75.7% (934/1234) 78.7% (74/94) 79.0% (1521/1926)
browser 0.0% (0/825) 0.0% (0/69) 0.0% (0/1404)
cli 39.9% (6249/15653) 46.0% (622/1351) 40.8% (9745/23882)
compositor 35.1% (6045/17209) 49.8% (502/1009) 34.9% (8309/23786)
desktop 78.7% (4409/5605) 71.9% (388/540) 75.4% (6119/8120)
fonts 85.3% (756/886) 89.9% (71/79) 86.4% (1485/1719)
fssync 92.5% (5515/5962) 94.4% (501/531) 92.7% (10177/10983)
gateway 35.1% (698/1990) 40.6% (69/170) 32.1% (1059/3303)
git 87.7% (4643/5295) 90.2% (378/419) 87.5% (7409/8463)
guest 82.8% (2347/2836) 80.5% (265/329) 81.4% (3911/4805)
lsp 77.2% (2688/3483) 79.4% (262/330) 74.9% (4210/5619)
proxy 19.2% (172/898) 20.5% (26/127) 21.0% (293/1392)
remote 91.7% (18064/19694) 94.7% (1270/1341) 89.4% (29290/32748)
sd-notify 73.9% (68/92) 100.0% (6/6) 83.2% (109/131)
server 58.7% (35519/60554) 65.7% (3053/4650) 60.1% (54263/90262)
ssh 32.2% (165/512) 48.2% (27/56) 31.4% (261/830)
webrtc-forwarder 8.5% (238/2805) 10.7% (22/205) 6.3% (289/4595)
webserver 65.1% (1288/1978) 67.6% (177/262) 67.2% (2159/3214)
Total 60.9% (89798/147511) 66.7% (7713/11568) 61.9% (140609/227182)

@indent indent Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CI green, Indent review passed with no findings.

@indent

indent Bot commented Oct 26, 2026

Copy link
Copy Markdown

Closing: neo is moving off blit to yas entirely (ENG-4014). The same fix goes to yas.

@indent indent Bot closed this Oct 26, 2026
@indent
indent Bot deleted the jsegaran/eng-4014-no-wayland-env-without-compositor branch October 26, 2026 19:08
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant