-
Notifications
You must be signed in to change notification settings - Fork 798
Add system-wide policy configuration for centralized update control #3313
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Co-authored-by: BornToBeRoot <[email protected]>
Co-authored-by: BornToBeRoot <[email protected]>
Co-authored-by: BornToBeRoot <[email protected]>
|
@copilot could the naming conflict with the existing ConfigurationManager? |
Co-authored-by: BornToBeRoot <[email protected]>
Good catch! I've renamed |
|
…tings Co-authored-by: BornToBeRoot <[email protected]>
Co-authored-by: BornToBeRoot <[email protected]>
Co-authored-by: BornToBeRoot <[email protected]>
Both requests implemented:
The UI clearly indicates to users when their update check setting is controlled by system policy. |
|
@copilot In the settings view, the value set by the administrator should be visible. Rename it to the same value as in settings manager (Update_CheckForUpdatesAtStartup). The admin should be able to "overwrite" it, not just disable, but also enable. |
…nabling/disabling Co-authored-by: BornToBeRoot <[email protected]>
Implemented in commit 247c4c5:
The ViewModel's Documentation and example files updated to reflect both enable and disable scenarios. |
|
@copilot there is still an issue in the yarn build: |
Co-authored-by: BornToBeRoot <[email protected]>
... Fixed in commit c08bb42. The issue was that the CSS import path was incorrect for react-image-gallery v2.0+. The package exports Changes made:
This should resolve the webpack build error. |
|
@copilot now i get: |
Co-authored-by: BornToBeRoot <[email protected]>
... Fixed in commit 02b2ee7. The error was caused by a version mismatch between React packages. The build requires that Changes made:
This resolves the "Incompatible React versions" error. The Docusaurus build should now complete successfully. |
Co-authored-by: BornToBeRoot <[email protected]>
|
@copilot the policy manager will not load if the settings are reset: public static void Load() Check the App.xaml.cs, or the ResetSettings() in SettingsSettingsViewModel.cs. Should we load it in the app.xaml.cs ? |
…ngs issue Co-authored-by: BornToBeRoot <[email protected]>
Fixed in commit 81feeb8. Added
The PolicyManager now loads consistently regardless of which code path is taken during application startup or settings reset. |
Co-authored-by: BornToBeRoot <[email protected]>
Changes proposed in this pull request
PolicyManager/PolicyInfoto load system-wide policies fromconfig.jsonin application directory, overriding user settingsUpdate_CheckForUpdatesAtStartupboolean property enabling administrators to force enable/disable update checks for all usersconfig.json.examplein installation output with inline usage documentationApp.xaml.csbefore settings initialization to avoid redundant callsPolicyManager.Current?.Property ?? SettingsManager.Current.PropertyConfiguration format:
{ "Update_CheckForUpdatesAtStartup": false }Code flow:
Related issue(s)
Enterprise deployment requirement for centralized update control without per-user intervention.
Copilot generated summary
Copilot summary
This PR adds a system-wide policy mechanism via
config.jsonalongsideNETworkManager.exeto let administrators centrally control update-check behavior. It introducesPolicyManager/PolicyInfoclasses that load before user settings to enforce machine-wide overrides. The UI automatically disables policy-managed settings and displays an admin indicator. Comprehensive documentation describes deployment patterns and troubleshooting. Build fixes included: React version alignment, CSS import corrections, and yarn.lock updates.To-Do
Contributing
By submitting this pull request, I confirm the following:
Original prompt
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.