Conversation
There was a problem hiding this comment.
Pull request overview
Adds an initial “Firewall” app surface to NETworkManager, including a WPF DataGrid-based UI and a new firewall model layer that loads NETworkManager-owned Windows Firewall rules via PowerShell.
Changes:
- Introduce a new Firewall rules grid UI with row details, search, refresh, and context menus.
- Add a new
NETworkManager.Models.Firewallmodel layer (rule DTOs + PowerShell-backed rule loading/parsing). - Add supporting enums/models (protocols, directions, port specs, interface types, network profiles).
Reviewed changes
Copilot reviewed 14 out of 14 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| Source/NETworkManager/Views/FirewallView.xaml.cs | Adds click handler to toggle DataGrid row details. |
| Source/NETworkManager/Views/FirewallView.xaml | Reworks Firewall view to a searchable/refreshable MultiSelectDataGrid with row details. |
| Source/NETworkManager/ViewModels/FirewallViewModel.cs | Adds rule collection/view, filtering, refresh logic, and rule-related commands (mostly TODO). |
| Source/NETworkManager.Models/NETworkManager.Models.csproj | Adds Firewall folder entry to the Models project. |
| Source/NETworkManager.Models/Network/NetworkProfiles.cs | Adds enum representing Windows network profiles. |
| Source/NETworkManager.Models/Firewall/FirewallRuleProgram.cs | Adds program/path model for firewall rules. |
| Source/NETworkManager.Models/Firewall/FirewallRuleDirection.cs | Adds inbound/outbound direction enum. |
| Source/NETworkManager.Models/Firewall/FirewallRuleAction.cs | Adds allow/block action enum. |
| Source/NETworkManager.Models/Firewall/FirewallRule.cs | Adds firewall rule DTO + display helpers. |
| Source/NETworkManager.Models/Firewall/FirewallProtocol.cs | Adds protocol enum mapping (incl. Any/255). |
| Source/NETworkManager.Models/Firewall/FirewallPortSpecification.cs | Adds port range/single-port specification model. |
| Source/NETworkManager.Models/Firewall/FirewallPortLocation.cs | Adds local vs remote port location enum. |
| Source/NETworkManager.Models/Firewall/FirewallInterfaceType.cs | Adds interface type enum. |
| Source/NETworkManager.Models/Firewall/Firewall.cs | Adds PowerShell-based rule discovery + parsing helpers. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| /// <summary> | ||
| /// Represents the name associated with the object. | ||
| /// </summary> | ||
| /// <remarks> | ||
| /// This property is used to identify the object with a descriptive, human-readable name. | ||
| /// The value of this property is typically a string and can be used for display purposes | ||
| /// or as an identifier in various contexts. | ||
| /// </remarks> | ||
| /// <summary> | ||
| /// Internal unique identifier of the rule (i.e. the value of <c>$rule.Id</c> in PowerShell). | ||
| /// Used to target the rule in Set-NetFirewallRule / Remove-NetFirewallRule calls. | ||
| /// </summary> | ||
| public string Id { get; set; } | ||
|
|
||
| public string Name { get; set; } | ||
|
|
There was a problem hiding this comment.
The XML doc comments for Id/Name are currently inconsistent: the comment block above Id contains two <summary> sections and describes the rule name even though it precedes the Id property. This can produce misleading generated docs/warnings; consider moving the name-related summary to Name and keeping a single summary for Id.
There was a problem hiding this comment.
Fixed in 7cf2ffd — removed the duplicate/misplaced <summary> block from Id (it described the name rather than the ID) and added a proper <summary> to Name with a human-readable description.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Agent-Logs-Url: https://github.com/BornToBeRoot/NETworkManager/sessions/5215e397-497d-4847-a3f7-a7454cafebb3 Co-authored-by: BornToBeRoot <16019165+BornToBeRoot@users.noreply.github.com>
Changes proposed in this pull request
Related issue(s)
To-Do