From b0592cafbfb5a9824e3632ac6dfe45c992aba226 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 14 Mar 2026 12:02:56 +0000 Subject: [PATCH 1/2] Initial plan From 44065f674e0cb7485177a93879427a305edc0092 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 14 Mar 2026 12:08:36 +0000 Subject: [PATCH 2/2] Fix: preserve stabilization state across transient HttpRequestException in DockerApiClient Co-authored-by: henrikhimself <1175002+henrikhimself@users.noreply.github.com> --- src/RemoteContainers.Aspire/Docker/DockerApiClient.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/RemoteContainers.Aspire/Docker/DockerApiClient.cs b/src/RemoteContainers.Aspire/Docker/DockerApiClient.cs index 7852ab5..71c9566 100644 --- a/src/RemoteContainers.Aspire/Docker/DockerApiClient.cs +++ b/src/RemoteContainers.Aspire/Docker/DockerApiClient.cs @@ -107,8 +107,10 @@ public DockerApiClient(ILogger logger, HttpClient httpClient, A _logger.LogError(ex, "Docker API request failed for {ResourceName}; retrying…", resourceName); } - lastSeenId = null; - isFirstPoll = false; + // Do not reset lastSeenId or isFirstPoll — a transient error gives no information about the + // container state, so the existing stabilization state must be preserved. Resetting would + // set lastSeenId to null, causing the next successful find to be accepted immediately via the + // "appeared after an empty poll" path, which defeats the two-poll confirmation. } await Task.Delay(pollInterval, cancellationToken);