Conversation
`RawWindow` is Tauri's escape hatch to the underlying native window, and on
Linux and the BSDs its shape is a `gtk::ApplicationWindow` and a `gtk::Box`.
This runtime draws with Blitz and owns no GTK window, so those fields cannot be
filled with anything true, and constructing the struct without them is what kept
the crate from compiling there:
missing `default_vbox` and `gtk_window`
The callback is skipped on those platforms instead. An embedder reaching for a
GTK handle from a Blitz window is asking for something that does not exist, and
it is better that its integration does not run than that it is handed a window
belonging to something else.
The job named Linux never compiled anything for it: `cargo tree` resolves
without building and `cargo package --no-verify` skips the build by definition.
So the crate stopped compiling on Linux while every check stayed green, and it
surfaced in a consumer instead, as four errors inside a dependency nobody had
edited. It now runs `cargo check`, with the GTK headers that needs.
Owner
Author
|
Superseded by #51, which fixes the cause rather than the symptom. This PR made the window runtime compile on Linux. But a headless QA host opens no window and should never have been compiling that runtime in the first place, so the Linux build of it was never on the path that mattered. It also added GTK development headers to CI, which is exactly the wrong direction for a headless test. #51 moves the inspection and activation surface out of |
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.
This crate does not build on Linux:
RawWindowis Tauri's escape hatch to the underlying native window, and on Linux and the BSDs its shape is agtk::ApplicationWindowand agtk::Box. This runtime draws with Blitz and owns no GTK window, so those fields cannot be filled with anything true.The callback is skipped on those platforms. An embedder reaching for a GTK handle from a Blitz window is asking for something that does not exist, and it is better that its integration does not run than that it is handed a window belonging to something else.
Why CI did not catch it
The job named Linux never compiled anything for Linux.
cargo treeresolves without building, andcargo package --no-verifyskips the build by definition. So the crate stopped compiling there while every check stayed green, and it surfaced in a consumer instead, as four errors inside a dependency nobody had edited.It now runs
cargo check -p tauri-runtime-blitz --features agent-control, with the GTK headers that needs. That step is the point of this PR as much as the fix is.How it was found
qa-inspect-hostdepends on this crate, so ps-qa could not be run on a Linux runner at all — which is what pathscale/ps-blitz#86 needs to drive its fixtures.macOS is unaffected:
cargo check --all-featuresis clean. I have no Linux machine here, so the new CI step is the verification.