From cafd0290d4e1eca0d3ae9f5dd200269b2d9d8580 Mon Sep 17 00:00:00 2001 From: AkhilKonduru1 Date: Wed, 18 Mar 2026 12:07:53 -0500 Subject: [PATCH] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- DynamicIsland/managers/ScreenAssistantManager.swift | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/DynamicIsland/managers/ScreenAssistantManager.swift b/DynamicIsland/managers/ScreenAssistantManager.swift index eec5ef7..6e58a18 100644 --- a/DynamicIsland/managers/ScreenAssistantManager.swift +++ b/DynamicIsland/managers/ScreenAssistantManager.swift @@ -720,6 +720,13 @@ class ScreenAssistantManager: NSObject, ObservableObject { let task = URLSession.shared.dataTask(with: request) { [weak self] data, response, error in DispatchQueue.main.async { guard let self = self else { return } + + // Ensure this callback belongs to the current in-flight request + guard self.activeRequest === task else { return } + + self.isLoading = false + self.activeRequest = nil + self.handleResponse(data: data, response: response, error: error, provider: .claude) } } @@ -731,9 +738,6 @@ class ScreenAssistantManager: NSObject, ObservableObject { // MARK: - Response Handlers private func handleResponse(data: Data?, response: URLResponse?, error: Error?, provider: AIModelProvider) { - isLoading = false - activeRequest = nil - // Check if the request was cancelled (e.g., by resetConversationContext) if let error = error as? NSError, error.code == NSURLErrorCancelled { print("ℹ️ ScreenAssistant: Request was cancelled")