fixed more

This commit is contained in:
AkhilKonduru1 2026-03-18 17:03:50 +00:00
commit a85cc65a03
2 changed files with 16 additions and 0 deletions

View file

@ -219,6 +219,7 @@ struct ChatMessagesView: View {
.background(Color.gray.opacity(0.12)) .background(Color.gray.opacity(0.12))
.cornerRadius(8) .cornerRadius(8)
} }
.disabled(screenAssistantManager.isLoading)
.buttonStyle(PlainButtonStyle()) .buttonStyle(PlainButtonStyle())
.help("Clear conversation and attachments") .help("Clear conversation and attachments")

View file

@ -120,6 +120,7 @@ class ScreenAssistantManager: NSObject, ObservableObject {
private var audioRecorder: AVAudioRecorder? private var audioRecorder: AVAudioRecorder?
private var recordingTimer: Timer? private var recordingTimer: Timer?
private var activeRequest: URLSessionTask?
// Panel management // Panel management
private var chatMessagesPanel: ChatMessagesPanel? private var chatMessagesPanel: ChatMessagesPanel?
@ -668,6 +669,7 @@ class ScreenAssistantManager: NSObject, ObservableObject {
} }
} }
activeRequest = task
task.resume() task.resume()
} }
@ -694,6 +696,7 @@ class ScreenAssistantManager: NSObject, ObservableObject {
} }
} }
activeRequest = task
task.resume() task.resume()
} }
@ -721,6 +724,7 @@ class ScreenAssistantManager: NSObject, ObservableObject {
} }
} }
activeRequest = task
task.resume() task.resume()
} }
@ -728,6 +732,13 @@ class ScreenAssistantManager: NSObject, ObservableObject {
private func handleResponse(data: Data?, response: URLResponse?, error: Error?, provider: AIModelProvider) { private func handleResponse(data: Data?, response: URLResponse?, error: Error?, provider: AIModelProvider) {
isLoading = false 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")
return
}
if let error = error { if let error = error {
print("❌ ScreenAssistant: Network error - \(error)") print("❌ ScreenAssistant: Network error - \(error)")
@ -1107,6 +1118,10 @@ class ScreenAssistantManager: NSObject, ObservableObject {
} }
func resetConversationContext() { func resetConversationContext() {
// Cancel any in-flight request
activeRequest?.cancel()
activeRequest = nil
isLoading = false isLoading = false
chatMessages.removeAll() chatMessages.removeAll()
clearAllFiles() clearAllFiles()