Make Glaze native-GUI only and fail fast on missing WebView - #6
Merged
Merged
Conversation
turinglambdaai
marked this pull request as ready for review
September 20, 2026 09:36
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.
Summary
Make Glaze consistently behave as a native desktop GUI framework instead of silently degrading into a browser application.
GUI-first behavior
raco glaze initnow scaffolds a nativerun-appentry point.raco glaze devruns the project's actualmain.rkt, so development and packaged apps use the same native path.#:fallback-browser?fromrun-app,open-window, andopen-webview.run-apphas already started its local server and native window creation fails, the server is shut down before the exception is propagated.open-browserremains only as an explicit utility for external documentation/OAuth/support URLs; it is never an application-startup fallback.Actionable dependency feedback
wingetcommand and Microsoft's official download page. Glaze still shipsWebView2Loader.dll.raco exe --guiapplications may have no visible console. CI suppresses dialogs automatically;GLAZE_NO_STARTUP_DIALOG=1disables them explicitly.CLI, packaging, examples, and docs
main.rktuses top-levelrun-app; this is required becausebuild-app's generated wrapper loads the entry withrequire, so amodule+ main-only scaffold would not start after packaging.examples/webview-demo.rktis now explicitly cross-platform and native-only.docs/gui-first.md.Tests and fixes exposed by CI
glaze-test/gui-first-test.rktto prevent reintroduction of#:fallback-browser?and verify dependency guidance.--timestamp-urlnow preserves URL schemes, andlicense sign|verifysubcommand detection correctly handles the initial#fstate.Compatibility note
This intentionally removes the old browser-fallback API. Callers that passed
#:fallback-browser?must remove it; native WebView availability is now a startup prerequisite.