Skip to content

Fix WinOneShot ComboItems compatibility - #4957

Merged
ChrisTitusTech merged 2 commits into
mainfrom
codex/fix-winoneshot-comboitems-compat
Aug 9, 2026
Merged

Fix WinOneShot ComboItems compatibility#4957
ChrisTitusTech merged 2 commits into
mainfrom
codex/fix-winoneshot-comboitems-compat

Conversation

@ChrisTitusTech

Copy link
Copy Markdown
Owner

Summary

  • keep the Multiplane Overlay three-state control while publishing ComboItems as a string
  • support pipe-delimited multi-word combobox labels in the WinUtil renderer
  • validate the parsed labels against registry-backed states and update focused coverage

Root cause

PR #4897 changed WPFMultiplaneOverlay.ComboItems from a string to a JSON array. WinOneShot's catalog model expects this field to remain a string, so the compatibility guard correctly failed and WinOneShot would be unable to deserialize tweaks.json.

Impact

The MPO control continues to show Enabled, Disabled (Compatibility), and Fully Disabled, while the published catalog remains compatible with WinOneShot.

Validation

  • Compile.ps1
  • focused Pester tests: 50 passed, 0 failed
  • full CI-mode Pester suite: 540 passed, 0 failed
  • focused PSScriptAnalyzer check: no new findings (existing plural-noun convention warning only)

@coderabbitai

coderabbitai Bot commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: d4242611-b6b6-423a-b139-10f6ad2ae7f8

📥 Commits

Reviewing files that changed from the base of the PR and between 0025d4f and 4375394.

📒 Files selected for processing (1)
  • pester/configs.Tests.ps1
🚧 Files skipped from review as they are similar to previous changes (1)
  • pester/configs.Tests.ps1

📝 Walkthrough

Summary by CodeRabbit

  • New Features

    • Added support for pipe-delimited combobox option values.
    • Multiplane overlay settings continue to offer Enabled, Compatibility, and Fully Disabled options.
  • Bug Fixes

    • Improved handling and validation of combobox configuration values across supported formats.
    • Preserved compatibility with existing array-based and space-delimited option values.

Walkthrough

The multiplane overlay configuration now stores ComboItems as a pipe-delimited string. Runtime parsing and Pester validation normalize this format while retaining support for array values and space-delimited strings.

Changes

Multiplane overlay combo items

Layer / File(s) Summary
Configuration format and runtime parsing
config/tweaks.json, functions/public/Invoke-WPFUIElements.ps1
WPFMultiplaneOverlay.ComboItems uses pipe-delimited text. String parsing splits on `
Combo item validation
pester/configs.Tests.ps1, pester/multiplane-overlay.Tests.ps1
Tests normalize string and array values before validating combo items and registry-state properties.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

Suggested labels: bug

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the main change: fixing WinOneShot compatibility for ComboItems.
Description check ✅ Passed The description accurately explains the ComboItems compatibility fix, renderer changes, validation updates, and test results.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/fix-winoneshot-comboitems-compat

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

@coderabbitai coderabbitai Bot added the bug Something isn't working label Aug 9, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@pester/configs.Tests.ps1`:
- Around line 442-446: Update the ComboItems normalization in the validator
around $comboItems to match the renderer: split string values on "|" when the
delimiter is present, while preserving the existing handling for non-string
values and space-delimited strings. Prefer the renderer’s shared normalizer if
one is available.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: dc140671-8fc2-42a1-bad8-121ec330879d

📥 Commits

Reviewing files that changed from the base of the PR and between bc607b6 and 0025d4f.

📒 Files selected for processing (4)
  • config/tweaks.json
  • functions/public/Invoke-WPFUIElements.ps1
  • pester/configs.Tests.ps1
  • pester/multiplane-overlay.Tests.ps1

Comment thread pester/configs.Tests.ps1
@ChrisTitusTech
ChrisTitusTech merged commit 53fc260 into main Aug 9, 2026
7 checks passed
@ChrisTitusTech
ChrisTitusTech deleted the codex/fix-winoneshot-comboitems-compat branch August 9, 2026 21:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant