From 0e4a8dddea79eb674923883e9766c637076c5253 Mon Sep 17 00:00:00 2001 From: Marius Storhaug Date: Mon, 16 Dec 2024 17:50:06 +0100 Subject: [PATCH 1/3] Update GitHubConfig initialization to use DefaultConfig.ID when starting in new session --- src/functions/private/Config/Initialize-GitHubConfig.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/functions/private/Config/Initialize-GitHubConfig.ps1 b/src/functions/private/Config/Initialize-GitHubConfig.ps1 index 84aaab671..35a010c28 100644 --- a/src/functions/private/Config/Initialize-GitHubConfig.ps1 +++ b/src/functions/private/Config/Initialize-GitHubConfig.ps1 @@ -34,7 +34,7 @@ if (-not $script:GitHub.Config.ID -or $Force) { try { Write-Debug 'Attempt to load the stored GitHubConfig from ContextVault' - $context = [GitHubConfig](Get-Context -ID $script:GitHub.Config.ID) + $context = [GitHubConfig](Get-Context -ID $script:GitHub.DefaultConfig.ID) if (-not $context -or $Force) { Write-Debug 'No stored config found. Loading GitHubConfig from defaults' $context = Set-Context -ID $script:GitHub.DefaultConfig.ID -Context $script:GitHub.DefaultConfig -PassThru From dea44fee3bbc2d20ac2d2e04f36417a5eb3653a6 Mon Sep 17 00:00:00 2001 From: Marius Storhaug Date: Mon, 16 Dec 2024 18:40:28 +0100 Subject: [PATCH 2/3] Refactor GitHubConfig initialization logic for clarity and improved error handling --- .../Config/Initialize-GitHubConfig.ps1 | 40 ++++++++++++------- 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/src/functions/private/Config/Initialize-GitHubConfig.ps1 b/src/functions/private/Config/Initialize-GitHubConfig.ps1 index 35a010c28..5e51c0636 100644 --- a/src/functions/private/Config/Initialize-GitHubConfig.ps1 +++ b/src/functions/private/Config/Initialize-GitHubConfig.ps1 @@ -29,24 +29,34 @@ } process { - Write-Debug "GitHubConfig ID: [$($script:GitHub.Config.ID)]" - Write-Debug "Force: [$Force]" - if (-not $script:GitHub.Config.ID -or $Force) { - try { - Write-Debug 'Attempt to load the stored GitHubConfig from ContextVault' - $context = [GitHubConfig](Get-Context -ID $script:GitHub.DefaultConfig.ID) - if (-not $context -or $Force) { - Write-Debug 'No stored config found. Loading GitHubConfig from defaults' - $context = Set-Context -ID $script:GitHub.DefaultConfig.ID -Context $script:GitHub.DefaultConfig -PassThru - } + try { + Write-Debug "Force: [$Force]" + if ($Force) { + Write-Debug 'Forcing initialization of GitHubConfig.' + $context = Set-Context -ID $script:GitHub.DefaultConfig.ID -Context $script:GitHub.DefaultConfig -PassThru + $script:GitHub.Config = [GitHubConfig]$context + return + } + + Write-Debug "GitHubConfig ID: [$($script:GitHub.Config.ID)]" + if ($null -ne $script:GitHub.Config) { + Write-Debug 'GitHubConfig already initialized and available in memory.' + return + } + + Write-Debug 'Attempt to load the stored GitHubConfig from ContextVault' + $context = Get-Context -ID $script:GitHub.DefaultConfig.ID + if ($context) { Write-Debug 'GitHubConfig loaded into memory.' $script:GitHub.Config = [GitHubConfig]$context - } catch { - Write-Error $_ - throw 'Failed to initialize GitHub config' + return } - } else { - Write-Debug 'GitHubConfig already initialized and available in memory.' + Write-Debug 'Initializing GitHubConfig from defaults' + $context = Set-Context -ID $script:GitHub.DefaultConfig.ID -Context $script:GitHub.DefaultConfig -PassThru + $script:GitHub.Config = [GitHubConfig]$context + } catch { + Write-Error $_ + throw 'Failed to initialize GitHub config' } } From 70481f5a06967b6ab7475ecf7340b57d5766aca2 Mon Sep 17 00:00:00 2001 From: Marius Storhaug Date: Mon, 16 Dec 2024 18:40:42 +0100 Subject: [PATCH 3/3] Remove initialization of GitHubConfig to prevent null reference errors --- src/variables/private/Config.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/variables/private/Config.ps1 b/src/variables/private/Config.ps1 index 38b3fdf06..f3d00b1d6 100644 --- a/src/variables/private/Config.ps1 +++ b/src/variables/private/Config.ps1 @@ -15,5 +15,5 @@ OAuthAppClientID = '7204ae9b0580f2cb8288' DefaultContext = '' } - Config = [GitHubConfig]::new() + Config = $null }