fix(v3/darwin): runtime effectiveZoomButtonState reconciliation + changelog for #5319#5467
Conversation
…onState+FullscreenButtonState reconciliation PR wailsapp#5319 fixed the startup path. This follow-up fixes the runtime path: both setMaximiseButtonState and setFullscreenButtonState now call effectiveZoomButtonState() before writing to NSWindowZoomButton, so a runtime SetMaximiseButtonState/SetFullscreenButtonState call can no longer silently override the other state. Also adds v3/UNRELEASED_CHANGELOG.md entry for wailsapp#5319 (auto-changelog workflow failed to add it automatically after the PR was merged) and 13 unit tests covering all ButtonState combinations. go vet: clean TestEffectiveZoomButtonState: 13/13 PASS
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (4)
WalkthroughThis PR resolves a macOS-specific conflict where maximise and fullscreen button states both target the same native ChangesmacOS Zoom Button State Conflict Resolution
Estimated code review effort🎯 2 (Simple) | ⏱️ ~15 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 golangci-lint (2.12.2)level=error msg="[linters_context] typechecking error: pattern ./...: directory prefix . does not contain main module or its selected dependencies" 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 |
Summary
PR #5319 (merged 2026-05-16) fixed the startup path for the
MaximiseButtonState/FullscreenButtonStateNSWindowZoomButton conflict on macOS. This PR addresses the remaining Copilot review comments:setMaximiseButtonStateandsetFullscreenButtonStatenow each calleffectiveZoomButtonState(state, w.parent.options.<other>)before writing toNSWindowZoomButton. A runtimeSetMaximiseButtonStateorSetFullscreenButtonStatecall can no longer silently override the other state.effectiveZoomButtonState(a, b ButtonState) ButtonState— returns the more restrictive state (Hidden > Disabled > Enabled). Defined inwebview_window_options.gofor testability without a CGo dependency.ButtonStatecombinations.v3/UNRELEASED_CHANGELOG.mdentry that the auto-changelog workflow failed to add after fix(v3/darwin): add FullscreenButtonState and resolve NSWindowZoomButton conflict #5319 merged.Supersedes PR #5457 (conflicted with master after #5319 merged).
Verification
go vet ./v3/pkg/application/...— cleanTestEffectiveZoomButtonState— 13/13 PASSCC @leaanthony
Summary by CodeRabbit