mirror of
https://github.com/FBukovina/Atoll.git
synced 2026-10-27 15:14:33 +00:00
fixed more
This commit is contained in:
parent
38f45e9386
commit
a85cc65a03
2 changed files with 16 additions and 0 deletions
|
|
@ -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")
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue