wails/docs
Lea Anthony 37e57f679d
fix(v3/windows): Move browser flags to application-level options (#4559) (#4946)
* fix(v3/windows): Move browser flags to application-level options (#4559)

WebView2 shares a single browser environment per user data path, so
browser flags (EnabledFeatures, DisabledFeatures, AdditionalBrowserArgs)
must be set at application level, not per-window.

Changes:
- Add EnabledFeatures, DisabledFeatures, AdditionalBrowserArgs to
  application.Options.Windows
- Mark per-window equivalents in WindowsWindow as deprecated
- Update webview_window_windows.go to read from app-level options

This fixes the crash when opening a second window with different
browser flags.

Fixes #4559

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: address PR review comments

- Remove incorrectly added WebviewGpuPolicy field from WindowsOptions
  (it's a Linux-specific option that already exists in LinuxWindow)
- Clarify changelog: AdditionalLaunchArgs was renamed to AdditionalBrowserArgs

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* refactor!: remove per-window browser flags (breaking change)

BREAKING CHANGE: Remove EnabledFeatures, DisabledFeatures, and
AdditionalLaunchArgs from per-window WindowsWindow options.

Use application-level options instead:
- Options.Windows.EnabledFeatures
- Options.Windows.DisabledFeatures
- Options.Windows.AdditionalBrowserArgs

These flags apply globally to the shared WebView2 environment,
so per-window configuration was never actually supported.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs: add documentation for application-level browser flags

- Document EnabledFeatures, DisabledFeatures, AdditionalBrowserArgs
- Add examples showing how to configure WebView2 browser flags
- Explain that these flags apply globally to all windows
- Update application API reference with platform-specific options

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* chore: simplify browser flags documentation

Remove unnecessary warnings and overly prescriptive comments.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs: clarify that AdditionalBrowserArgs requires -- prefix

Chromium command-line switches require the -- prefix.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 20:49:08 +11:00
..
.vscode [v3] Add starlight website (#3917) 2024-12-08 12:09:13 +11:00
public Merge iOS support from v3-alpha-feature/ios-support 2025-12-10 18:34:21 +11:00
src fix(v3/windows): Move browser flags to application-level options (#4559) (#4946) 2026-02-02 20:49:08 +11:00
.gitignore [v3] Add starlight website (#3917) 2024-12-08 12:09:13 +11:00
.npmrc Docs: Add community page(s) (#3941) 2024-12-10 07:53:36 +11:00
astro.config.mjs feat(v3): add server mode for headless HTTP deployment (#4903) 2026-01-25 14:33:44 +11:00
CNAME Setup starlight workflow 2024-12-08 12:28:50 +11:00
package-lock.json fix(docs): update starlight-blog to v0.25.1 to fix build error 2025-11-24 21:54:59 +11:00
package.json fix(docs): update starlight-blog to v0.25.1 to fix build error 2025-11-24 21:54:59 +11:00
README.md docs: Comprehensive documentation redesign and v3-alpha updates 2025-11-23 20:57:25 +11:00
Taskfile.yml feat(v3): add cross-platform build system and signing support 2025-12-06 13:53:37 +11:00
tsconfig.json [v3] Add starlight website (#3917) 2024-12-08 12:09:13 +11:00

Wails v3 Documentation

Built with Starlight

World-class documentation for Wails v3, redesigned following Netflix documentation principles.

📚 Documentation Redesign (2025-10-01)

This documentation has been completely redesigned to follow the Netflix approach to developer documentation:

  • Problem-first framing - Start with why, not what
  • Progressive disclosure - Multiple entry points for different skill levels
  • Real production examples - No toy code
  • Story-Code-Context pattern - Why → How → When
  • Scannable content - Clear structure, visual aids

Status: Foundation complete (~20%), ready for content migration

See IMPLEMENTATION_SUMMARY.md for full details.

🚀 Project Structure

Inside of your Astro + Starlight project, you'll see the following folders and files:

.
├── public/
├── src/
│   ├── assets/
│   ├── content/
│   │   ├── docs/
│   │   └── config.ts
│   └── env.d.ts
├── astro.config.mjs
├── package.json
└── tsconfig.json

Starlight looks for .md or .mdx files in the src/content/docs/ directory. Each file is exposed as a route based on its file name.

Images can be added to src/assets/ and embedded in Markdown with a relative link.

Static assets, like favicons, can be placed in the public/ directory.

🧞 Commands

All commands are run from the root of the project, from a terminal:

Command Action
npm install Installs dependencies
npm run dev Starts local dev server at localhost:4321
npm run build Build your production site to ./dist/
npm run preview Preview your build locally, before deploying
npm run astro ... Run CLI commands like astro add, astro check
npm run astro -- --help Get help using the Astro CLI

👀 Want to learn more?

Check out Starlights docs, read the Astro documentation, or jump into the Astro Discord server.