Skip to content

Harden System Security v1.0.49.0#1124

Closed
HotCakeX wants to merge 17 commits intomainfrom
Harden-System-Security-v1.0.49.0
Closed

Harden System Security v1.0.49.0#1124
HotCakeX wants to merge 17 commits intomainfrom
Harden-System-Security-v1.0.49.0

Conversation

@HotCakeX
Copy link
Copy Markdown
Owner

@HotCakeX HotCakeX commented Apr 8, 2026

What's New

  • Added a new section to the Service Manager in the Harden System Security app that offers a quick and easy way to optimize your system by disabling and stopping services that are rarely used.

  • Added a new feature and page to the app called Bootable Drive Maker. It provides a reliable and streamlined way to create bootable Windows installation media from ISO files. Whether you want granular control over your USB drive's partitions or prefer a fully automated setup, this tool caters to both needs while also offering standard ISO extraction capabilities.

  • Improved localization.

HotCakeX added 17 commits April 8, 2026 17:12
Signed-off-by: Violet Hansen <spynetgirl@outlook.com>
Signed-off-by: Violet Hansen <spynetgirl@outlook.com>
Signed-off-by: Violet Hansen <spynetgirl@outlook.com>
Signed-off-by: Violet Hansen <spynetgirl@outlook.com>
Signed-off-by: Violet Hansen <spynetgirl@outlook.com>
Signed-off-by: Violet Hansen <spynetgirl@outlook.com>
Signed-off-by: Violet Hansen <spynetgirl@outlook.com>
Signed-off-by: Violet Hansen <spynetgirl@outlook.com>
Signed-off-by: Violet Hansen <spynetgirl@outlook.com>
Signed-off-by: Violet Hansen <spynetgirl@outlook.com>
Signed-off-by: Violet Hansen <spynetgirl@outlook.com>
Signed-off-by: Violet Hansen <spynetgirl@outlook.com>
Signed-off-by: Violet Hansen <spynetgirl@outlook.com>
Signed-off-by: Violet Hansen <spynetgirl@outlook.com>
Signed-off-by: Violet Hansen <spynetgirl@outlook.com>
Signed-off-by: Violet Hansen <spynetgirl@outlook.com>
Signed-off-by: Violet Hansen <spynetgirl@outlook.com>
@HotCakeX HotCakeX self-assigned this Apr 8, 2026
@HotCakeX HotCakeX added the Harden System Security 🔱 Any item labeled with this is related to the Harden System Security application. label Apr 8, 2026
Copilot AI review requested due to automatic review settings April 8, 2026 14:34
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

This PR bumps Harden System Security to v1.0.49.0 and introduces the new “Bootable Drive Maker” feature (UI + VM) alongside localization updates, including RTL FlowDirection support on existing Extras pages.

Changes:

  • Added a new Bootable Drive Maker page + view model and wired it into navigation/search/breadcrumb mappings.
  • Updated app/package manifests and project versioning to 1.0.49.0 and refreshed release notes.
  • Improved localization resources (pl-PL, ml-IN) and added FlowDirection binding to existing Extras pages.

Reviewed changes

Copilot reviewed 26 out of 29 changed files in this pull request and generated 18 comments.

Show a summary per file
File Description
Wiki posts/Harden System Security/Bootable Drive Maker.md Adds end-user documentation for the new Bootable Drive Maker feature.
Harden System Security/app.manifest Bumps app manifest version to 1.0.49.0.
Harden System Security/ViewModels/ViewModelProvider.cs Registers BootableDriveMakerVM for lazy creation.
Harden System Security/ViewModels/MainWindowVM.cs Adds breadcrumb/navigation/search mappings for the new Bootable Drive Maker page.
Harden System Security/ViewModels/BootableDriveMakerVM.cs Implements UI state + commands for ISO selection, drive selection, bootable media creation, and extraction.
Harden System Security/Strings/pl-PL/Resources.resw Adds Polish localized strings for Bootable Drive Maker UI elements.
Harden System Security/Strings/ml-IN/Resources.resw Adds Malayalam localized strings for Bootable Drive Maker UI elements.
Harden System Security/ReleaseNotes.txt Updates release notes to reflect v1.0.49.0 features.
Harden System Security/Pages/Extras/EXIFManager.xaml(.cs) Adds FlowDirection binding for RTL/localization support (plus formatting normalization).
Harden System Security/Pages/Extras/DuplicatePhotoFinder.xaml(.cs) Adds FlowDirection binding for RTL/localization support (plus formatting normalization).
Harden System Security/Pages/Extras/BootableDriveMaker.xaml(.cs) Introduces the new Bootable Drive Maker UI page and code-behind mode switching.
Harden System Security/Package.appxmanifest Bumps package identity version to 1.0.49.0.
Harden System Security/Harden System Security.csproj Bumps FileVersion to 1.0.49.0 (plus formatting normalization).
AppControl Manager/eXclude/CommonCore/CommonCore.projitems Adds ISOManager.cs to shared WinUI compilation items to support new feature.


breadCrumbMappingsV2[typeof(HardenSystemSecurity.Pages.Extras.BootableDriveMaker)] = new PageTitleMap
(
titles: [Atlas.GetStr("BootableDriveMakerNavigationViewItem/Content")],
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

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

Atlas.GetStr("BootableDriveMakerNavigationViewItem/Content") is inconsistent with the newly added RESW key naming (BootableDriveMakerNavigationViewItem.Content in pl-PL/ml-IN). If Atlas.GetStr does not normalize between / and ., the title will fail to resolve at runtime and show fallback/missing text. Align the key format by either (a) updating the code to request BootableDriveMakerNavigationViewItem.Content (and similarly for other usages), or (b) adding matching /Content-style keys to the RESW files to match the existing Atlas.GetStr(".../Content") convention used elsewhere in this ViewModel.

Suggested change
titles: [Atlas.GetStr("BootableDriveMakerNavigationViewItem/Content")],
titles: [Atlas.GetStr("BootableDriveMakerNavigationViewItem.Content")],

Copilot uses AI. Check for mistakes.
internal void RefreshDrives_Click(object sender, RoutedEventArgs e)
{
RefreshDrives();
MainInfoBar.WriteSuccess("Drives refreshed.");
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

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

This introduces multiple new user-facing strings that are hard-coded in English, which undermines the “Improved localization” goal and makes the new feature inconsistent with the rest of the app’s localization approach. Move these strings into RESW resources (and reference them via Atlas.GetStr(...) or the project’s established localization mechanism) so they can be translated and RTL-tested.

Suggested change
MainInfoBar.WriteSuccess("Drives refreshed.");
MainInfoBar.WriteSuccess(Atlas.GetStr("BootableDriveMaker_DrivesRefreshed"));

Copilot uses AI. Check for mistakes.
{
if (SelectedBootDrive is null || SelectedDataDrive is null)
{
MainInfoBar.WriteWarning("Please select both BOOT and DATA drives.");
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

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

This introduces multiple new user-facing strings that are hard-coded in English, which undermines the “Improved localization” goal and makes the new feature inconsistent with the rest of the app’s localization approach. Move these strings into RESW resources (and reference them via Atlas.GetStr(...) or the project’s established localization mechanism) so they can be translated and RTL-tested.

Copilot uses AI. Check for mistakes.
{
if (SelectedSingleDrive is null)
{
MainInfoBar.WriteWarning("Please select a target physical disk to partition and use.");
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

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

This introduces multiple new user-facing strings that are hard-coded in English, which undermines the “Improved localization” goal and makes the new feature inconsistent with the rest of the app’s localization approach. Move these strings into RESW resources (and reference them via Atlas.GetStr(...) or the project’s established localization mechanism) so they can be translated and RTL-tested.

Copilot uses AI. Check for mistakes.

if (!File.Exists(IsoPath))
{
MainInfoBar.WriteWarning("Please select a valid ISO file.");
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

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

This introduces multiple new user-facing strings that are hard-coded in English, which undermines the “Improved localization” goal and makes the new feature inconsistent with the rest of the app’s localization approach. Move these strings into RESW resources (and reference them via Atlas.GetStr(...) or the project’s established localization mechanism) so they can be translated and RTL-tested.

Copilot uses AI. Check for mistakes.

<!-- Boot Drive -->
<StackPanel Grid.Column="0" Grid.Row="1" Spacing="8">
<TextBlock Text="BOOT Partition (Min 2GB, Max 32GB)" FontWeight="SemiBold"/>
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

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

Several UI strings are hard-coded (e.g., the download link label and BOOT/DATA partition labels). To keep the page fully localizable, these should use x:Uid (or bindings to localized resources) rather than literal Content="..." / Text="..." strings.

Copilot uses AI. Check for mistakes.

<!-- Data Drive -->
<StackPanel Grid.Column="1" Grid.Row="1" Spacing="8">
<TextBlock Text="DATA Partition (Min 8GB)" FontWeight="SemiBold"/>
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

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

Several UI strings are hard-coded (e.g., the download link label and BOOT/DATA partition labels). To keep the page fully localizable, these should use x:Uid (or bindings to localized resources) rather than literal Content="..." / Text="..." strings.

Copilot uses AI. Check for mistakes.
using CommonCore.Others;
using Microsoft.UI.Xaml;
using Windows.ApplicationModel.DataTransfer;
using Windows.Storage;
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

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

These using directives are unused in this new file and can be removed to reduce noise and keep the file tidy.

Suggested change
using Windows.Storage;

Copilot uses AI. Check for mistakes.
Comment on lines +258 to +262
if (string.Equals(ExtractionPath, "No folder selected.", StringComparison.OrdinalIgnoreCase) || !Directory.Exists(ExtractionPath))
{
MainInfoBar.WriteWarning("Please select a valid destination folder.");
return;
}
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

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

The sentinel string "No folder selected." isn’t set anywhere in this ViewModel (the clear method sets ExtractionPath = null), so this branch condition is confusing and couples validation to a UI placeholder that may not exist. Prefer validating only via string.IsNullOrWhiteSpace(ExtractionPath) and Directory.Exists(ExtractionPath) (and localize the warning text as noted in the localization comment).

Copilot uses AI. Check for mistakes.
@@ -0,0 +1,56 @@
# Bootable Drive Maker | Harden System Security
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

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

The | in the H1 title is unusual for Markdown page titles and may render inconsistently (and reads like a table delimiter). Consider changing it to a more standard title format, e.g., # Bootable Drive Maker (Harden System Security) or # Bootable Drive Maker - Harden System Security.

Suggested change
# Bootable Drive Maker | Harden System Security
# Bootable Drive Maker (Harden System Security)

Copilot uses AI. Check for mistakes.
@HotCakeX HotCakeX closed this Apr 8, 2026
@HotCakeX HotCakeX deleted the Harden-System-Security-v1.0.49.0 branch April 8, 2026 15:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Harden System Security 🔱 Any item labeled with this is related to the Harden System Security application.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

JSON to POL conversion produces incorrect DWORD values (e.g., 2575712719 instead of 0/1)

2 participants