From b9efb5585ffc1c198fe9ca4b84a57657e9ab8bc5 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 18 Apr 2026 09:01:45 +0000 Subject: [PATCH 1/2] Initial plan From b0d7f27853ab9ae2f0f4cfcb02fba111de60ad71 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 18 Apr 2026 09:04:48 +0000 Subject: [PATCH 2/2] Fix ConcurrentModificationException in CompletionProvider listeners Agent-Logs-Url: https://github.com/microsoft/copilot-for-eclipse/sessions/cfbb6b26-8dc6-4785-9757-96c98224c352 Co-authored-by: jdneo <6193897+jdneo@users.noreply.github.com> --- .../copilot/eclipse/core/completion/CompletionProvider.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/com.microsoft.copilot.eclipse.core/src/com/microsoft/copilot/eclipse/core/completion/CompletionProvider.java b/com.microsoft.copilot.eclipse.core/src/com/microsoft/copilot/eclipse/core/completion/CompletionProvider.java index d611c8a4..d437aa9f 100644 --- a/com.microsoft.copilot.eclipse.core/src/com/microsoft/copilot/eclipse/core/completion/CompletionProvider.java +++ b/com.microsoft.copilot.eclipse.core/src/com/microsoft/copilot/eclipse/core/completion/CompletionProvider.java @@ -3,10 +3,10 @@ package com.microsoft.copilot.eclipse.core.completion; -import java.util.LinkedHashSet; import java.util.List; import java.util.Objects; import java.util.Set; +import java.util.concurrent.CopyOnWriteArraySet; import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; @@ -68,7 +68,7 @@ public class CompletionProvider { public CompletionProvider(CopilotLanguageServerConnection lsConnection, AuthStatusManager statusManager) { this.statusManager = statusManager; this.completionJob = new CompletionJob(lsConnection); - this.completionListeners = new LinkedHashSet<>(); + this.completionListeners = new CopyOnWriteArraySet<>(); this.formatOptionProvider = CopilotCore.getPlugin().getFormatOptionProvider(); this.usingCodeMining = IdeCapabilities.canUseCodeMining(); }