docs: add v2 feature status reference page#5314
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. 🗂️ Base branches to auto review (2)
Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Pull request overview
This PR introduces a new v2→v3 feature status reference page in the v3 docs, but the diff also includes a broad set of runtime/API changes across v2 and v3 (window button APIs, macOS fullscreen Esc behavior, icon generation, NSIS install scope, workflow tweaks, and new website showcase assets).
Changes:
- Add
docs/src/content/docs/reference/v2-feature-status.mdxwith a status/migration table for major v2 feature areas. - Introduce new window API surface for fullscreen button state + macOS option to prevent Esc from exiting fullscreen.
- Update build tooling/docs/assets (icon generation gating, watcher ignore patterns, NSIS install scope, changelogs, workflow, and new website showcase media).
Reviewed changes
Copilot reviewed 40 out of 44 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| website/static/img/sponsors.svg | Adjust sponsor layout/positions and remove an entry. |
| website/static/img/showcase/pausa.webp | Add new showcase image asset (binary). |
| website/static/img/showcase/pausa-break-overlay.webp | Add new showcase image asset (binary). |
| website/docs/community/showcase/pausa.mdx | Add Pausa showcase page embedding three images and description. |
| v3/pkg/application/window.go | Extend Window interface with SetFullscreenButtonState. |
| v3/pkg/application/webview_window_windows.go | Apply FullscreenButtonState on Windows + implement setFullscreenButtonState. |
| v3/pkg/application/webview_window_options_test.go | Add tests covering FullscreenButtonState existence and enum values. |
| v3/pkg/application/webview_window_options.go | Add FullscreenButtonState to options; add MacWindow.DisableEscapeExitsFullscreen. |
| v3/pkg/application/webview_window_linux.go | Remove legacy fullscreen-button bool stub; add no-op setFullscreenButtonState. |
| v3/pkg/application/webview_window_ios.go | Add no-op setFullscreenButtonState; formatting cleanup. |
| v3/pkg/application/webview_window_darwin.m | Override cancelOperation: to optionally swallow Esc while fullscreen. |
| v3/pkg/application/webview_window_darwin.h | Add disableEscapeExitsFullscreen property. |
| v3/pkg/application/webview_window_darwin.go | Add fullscreen button state binding; wire DisableEscapeExitsFullscreen to native window. |
| v3/pkg/application/webview_window_android.go | Rename stub to setFullscreenButtonState. |
| v3/pkg/application/webview_window.go | Add public SetFullscreenButtonState; plumb into impl interface. |
| v3/pkg/application/menu_linux.go | Guard linuxMenu.update() against nil native/menu. |
| v3/pkg/application/menu.go | Prevent Menu.Update() and ContextMenu ops when app is nil/not running. |
| v3/pkg/application/browser_window.go | Reformat + add no-op SetFullscreenButtonState to satisfy interface. |
| v3/pkg/application/application_server.go | Reformat + add no-op setFullscreenButtonState for server mode impl. |
| v3/internal/version/version.txt | Bump v3 version to v3.0.0-alpha.83. |
| v3/internal/commands/watcher_test.go | Add unit tests for new ensureIgnored() helper. |
| v3/internal/commands/watcher.go | Add ensureIgnored() and ignore *_test.go in dev watcher config at runtime. |
| v3/internal/commands/icons_test.go | Add actool availability check; add fallthrough test ensuring .ico still generated. |
| v3/internal/commands/icons.go | Add warning+fallthrough behavior; tighten/expand macOS/actool gating and messaging. |
| v3/internal/commands/build_assets/config.yml | Add *_test.go to default dev-mode ignore list. |
| v3/UNRELEASED_CHANGELOG.md | Update unreleased changelog entries for multiple PRs/features/fixes. |
| v2/test/4649/test_esc_fullscreen.go | Add manual darwin-only test program for fullscreen Esc behavior. |
| v2/pkg/options/mac/mac.go | Add DisableEscapeExitsFullscreen to v2 mac options. |
| v2/pkg/commands/build/nsis_installer.go | Add NSIS install-scope support via defines. |
| v2/pkg/commands/build/build.go | Add InstallScope field to v2 build options. |
| v2/pkg/buildassets/build/windows/installer/wails_tools.nsh | Write uninstall registry keys to HKCU for per-user installs; conditional delete logic. |
| v2/pkg/buildassets/build/windows/installer/project.nsi | Use per-user default install dir when install scope is user. |
| v2/internal/frontend/desktop/darwin/window.go | Pass DisableEscapeExitsFullscreen into native Create() call. |
| v2/internal/frontend/desktop/darwin/WailsContext.m | Implement cancelOperation: override + plumb flag into window creation. |
| v2/internal/frontend/desktop/darwin/WailsContext.h | Add property + extend CreateWindow signature. |
| v2/internal/frontend/desktop/darwin/Application.m | Extend Create() signature and forward to CreateWindow with new arg. |
| v2/internal/frontend/desktop/darwin/Application.h | Update Create() declaration with new arg. |
| v2/examples/panic-recovery-test/go.mod | Bump Go directive to go 1.22.0. |
| v2/cmd/wails/flags/build.go | Add InstallScope flag defaulting to machine; validate allowed values. |
| v2/cmd/wails/build.go | Wire InstallScope through build options and print in summary. |
| docs/src/content/docs/reference/v2-feature-status.mdx | Add new v2 feature status reference page (status legend + table + migration notes). |
| docs/src/content/docs/changelog.mdx | Add v3.0.0-alpha.83 section with Added/Fixed entries. |
| .github/workflows/pr-master.yml | Adjust job if: conditions to use github.event.pull_request.base.ref and allow workflow_dispatch. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| w.setStyle(true, w32.WS_SYSMENU) | ||
| w.setStyle(true, w32.WS_MAXIMIZEBOX) | ||
| } |
| // Initialise the window buttons | ||
| w.setMinimiseButtonState(options.MinimiseButtonState) | ||
| w.setMaximiseButtonState(options.MaximiseButtonState) | ||
| w.setCloseButtonState(options.CloseButtonState) | ||
| if options.FullscreenButtonState != ButtonEnabled { | ||
| w.setFullscreenButtonState(options.FullscreenButtonState) | ||
| } |
…ton conflict (#5319) On macOS both MaximiseButtonState and FullscreenButtonState control NSWindowZoomButton (the green traffic-light button). Previously calling setMaximiseButtonState and then setFullscreenButtonState in run() would cause the later call to silently win. Adds WebviewWindowOptions.FullscreenButtonState (ButtonState) and wires it into the interface across all platforms. On macOS, run() now computes the more restrictive of the two states (higher ButtonState value) and applies it once, eliminating the last-writer-wins race. setFullscreenButtonState on macOS delegates to setMaximiseButtonState since they target the same native button. All other platforms are no-ops. Addresses review comment on PR #5314. Co-authored-by: Engineer Mac <engineer-mac@multica.local> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: multica-agent <github@multica.ai>
Adds
docs/src/content/docs/reference/v2-feature-status.mdx— a status table for all 11 required v2 feature categories.Each row has a valid status (available/different/deferred/won't-implement) and "different" rows include migration actions and links to the relevant docs.
Fixes WAI-144.