Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: PSModule/GitHub
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 0d0b600
Choose a base ref
...
head repository: PSModule/GitHub
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 0294114
Choose a head ref
  • 1 commit
  • 20 files changed
  • 3 contributors

Commits on Sep 15, 2025

  1. 🚀[Feature]: Permission infrastructure + Track GitHub App Installation…

    … status (#513)
    
    This pull request introduces several improvements to how GitHub App
    permissions are represented, compared, and displayed throughout the
    codebase. The main focus is on replacing the use of generic objects for
    permissions with a strongly-typed `GitHubPermission` class, adding
    installation status comparison logic, and enhancing output formatting
    for better user experience.
    
    - Fixes #510
    
    Key changes include:
    
    **Permission Model Refactor:**
    
    * Replaces all uses of `[pscustomobject]` for permissions in
    `GitHubApp`, `GitHubAppInstallation`, `GitHubAppContext`, and
    `GitHubAppInstallationContext` with `[GitHubPermission[]]`, ensuring
    permissions are strongly typed and consistently handled.
    * Colocate `GitHubPermissionDefinition` class with the
    `GitHubPermission` in the `GitHubPermission.ps1` file.
    
    **Installation Status and Comparison Logic:**
    
    * Adds a `Status` property to `GitHubAppInstallation` and implements
    logic to compare installation permissions with app permissions, setting
    status as `'Ok'` or `'Outdated'` accordingly.
    * Updates `Get-GitHubAppInstallationForAuthenticatedApp` to pass the
    authenticated app object to each installation for accurate status
    calculation.
    
    **Formatting and Output Enhancements:**
    
    * Updates the `GitHubAppInstallation` format XML to display the new
    `Status` property in both table and list views, using symbols and colors
    when supported for better clarity.
    * Adds a new format file for `GitHubPermission`, improving how
    permissions are displayed in the console, including hyperlinks for
    permission names when supported.
    
    **Configuration and Miscellaneous:**
    
    * Makes the `Context` parameter mandatory and positional in
    `Switch-GitHubContext` for improved usability.
    
    ---------
    
    Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
    Co-authored-by: MariusStorhaug <17722253+MariusStorhaug@users.noreply.github.com>
    Co-authored-by: Marius Storhaug <marstor@hotmail.com>
    3 people authored Sep 15, 2025
    Configuration menu
    Copy the full SHA
    0294114 View commit details
    Browse the repository at this point in the history
Loading