Skip to content

Feature: Firewall app#3383

Open
BornToBeRoot wants to merge 8 commits intomainfrom
feature/firewall-app-base
Open

Feature: Firewall app#3383
BornToBeRoot wants to merge 8 commits intomainfrom
feature/firewall-app-base

Conversation

@BornToBeRoot
Copy link
Copy Markdown
Owner

Changes proposed in this pull request

  • Add Firewall App

Related issue(s)

To-Do

Copilot AI review requested due to automatic review settings April 11, 2026 01:51
@github-actions github-actions bot added this to the next-release milestone Apr 11, 2026
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

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.Firewall model 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.

Comment on lines +15 to +30
/// <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; }

Copy link

Copilot AI Apr 11, 2026

Choose a reason for hiding this comment

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

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.

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

@copilot apply changes based on this feedback

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.

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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[New App] Firewall module/application

3 participants