Skip to content

Decoupled UI and data#4051

Merged
ChrisTitusTech merged 4 commits intoChrisTitusTech:mainfrom
KamaleiZestri:decouple
Feb 17, 2026
Merged

Decoupled UI and data#4051
ChrisTitusTech merged 4 commits intoChrisTitusTech:mainfrom
KamaleiZestri:decouple

Conversation

@KamaleiZestri
Copy link
Contributor

Type of Change

  • New feature
  • Bug fix
  • Documentation update
  • UI/UX improvement

Description

Problem: -config test.json -run does not function (only runs tweaks) due to $sync.form.Dispatcher.Invoke calls blocking until UI is loaded. This causes a race condition where features and install do not run.

Solution: This PR lays the groundwork for a fix rooted in running tweaks,features,installs, and toggles WITHOUT the UI having to be loaded.

What this PR Does: Following on from the Install tab UI rework that introduced $sync.selectedApps, this PR does the same for the other tabs with the following changes:

  • Remove Get-WinUtilCheckBoxes.ps1 . No need to query UI anymore.
  • Change any references to Get-WinUtilCheckBoxes.ps1 to now read from the $sync.selected variables
  • Change Invoke-WPFSelectedAppsUpdate.ps1 into more generic Invoke-WPFSelectedCheckboxesUpdate that is called on any checkbox interaction in the UI to update the $sync.selected variables
  • Seperate major Invoke-WPFPresets.ps1 functionality into data-focused Update-WinUtilSelections.ps1 and UI-focused Reset-WPFCheckBoxes.ps1
  • Simplification of config.json output format. (its flat now).

@github-actions github-actions bot added the new feature New feature or request label Feb 15, 2026
Copy link
Owner

@ChrisTitusTech ChrisTitusTech left a comment

Choose a reason for hiding this comment

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

Great PR and fantastic cleanup

@ChrisTitusTech ChrisTitusTech merged commit 70a94ab into ChrisTitusTech:main Feb 17, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants