From 5b447a999acf42332c278985786da2c535b6f169 Mon Sep 17 00:00:00 2001 From: selmankoc Date: Mon, 1 Jun 2026 14:26:44 +0300 Subject: [PATCH] Refactor sliding-window rate limiter to improve push timestamp management --- nupkg/push_packages.ps1 | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/nupkg/push_packages.ps1 b/nupkg/push_packages.ps1 index f192c2a560..4ad4d46a90 100644 --- a/nupkg/push_packages.ps1 +++ b/nupkg/push_packages.ps1 @@ -35,8 +35,13 @@ foreach($project in $projects) { if ($maxPushesPerHour -gt 0) { $windowStart = (Get-Date).AddHours(-1) - $recentPushes = $pushTimestamps | Where-Object { $_ -gt $windowStart } - $pushTimestamps = [System.Collections.Generic.List[datetime]]$recentPushes + $recentPushes = @($pushTimestamps | Where-Object { $_ -gt $windowStart }) + $trimmedPushTimestamps = [System.Collections.Generic.List[datetime]]::new() + foreach ($timestamp in $recentPushes) + { + [void]$trimmedPushTimestamps.Add($timestamp) + } + $pushTimestamps = $trimmedPushTimestamps if ($pushTimestamps.Count -ge $maxPushesPerHour) {