Skip to content

feat(v3): add noprivateapis macOS build variant - #5955

Draft
taliesin-ai wants to merge 3 commits into
masterfrom
codex/macos-private-api-opt-in
Draft

feat(v3): add noprivateapis macOS build variant#5955
taliesin-ai wants to merge 3 commits into
masterfrom
codex/macos-private-api-opt-in

Conversation

@taliesin-ai

@taliesin-ai taliesin-ai commented Aug 12, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • preserve Wails' existing private macOS behaviour in default builds
  • add a noprivateapis build tag that selects public WebKit and AppKit implementations without changing the Go API
  • isolate known private references for WKWebView transparency, programmatic Web Inspector opening, pre-13.3 developer extras, and Liquid Glass grouping/style behaviour
  • document every private surface and its exact public-only fallback
  • update transparent-window, Spotlight, and Liquid Glass examples plus the unreleased changelog

Public-only build

EXTRA_TAGS=noprivateapis wails3 dev
wails3 build -tags noprivateapis
wails3 package EXTRA_TAGS=noprivateapis GOOS=darwin

The public-only variant degrades safely: transparent and full-window glass backdrops remain configured behind an opaque WKWebView, cross-window glass grouping is ignored, native styles map to public regular/clear styles, automatic inspector opening becomes a no-op, and manual Safari inspection remains available on macOS 13.3+.

Validation

  • go test ./pkg/application passed before synchronising current master
  • go test -tags noprivateapis ./pkg/application -run 'TestMacPrivateAPIBuildVariantsAreExclusive|TestPrivateMacAPIReferencesStayOutOfNoPrivateAPIFiles' -count=1
  • default and noprivateapis Darwin file selection verified with go list
  • documentation production build: 183 pages, zero errors, all internal links valid
  • git diff --check
  • CodeRabbit staged-change review: no findings on the PR revision

After merging current master, the broader package run is blocked only by the existing environment-sensitive TestX11GlobalShortcutEndToEnd: its synthesised X11 keypress does not fire a callback in this desktop environment. The macOS build-variant tests remain green.

@github-actions github-actions Bot added Documentation Improvements or additions to documentation v3 MacOS labels Aug 12, 2026
@coderabbitai

coderabbitai Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 7e28ef62-bb7c-4dae-aeb0-dd61de93c43a

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@taliesin-ai taliesin-ai changed the title feat(v3): isolate private macOS APIs behind an opt-in tag feat(v3): add noprivateapis macOS build variant Aug 14, 2026
@leaanthony leaanthony added the TBD label Aug 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Documentation Improvements or additions to documentation MacOS TBD v3

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants