@@ -91,7 +91,6 @@ final class Workspace {
9191 UserDefaults . shared. value ( for: \. realtimeSuggestionToggle)
9292 }
9393
94- var realtimeSuggestionRequests = Set < Task < Void , Error > > ( )
9594 let userDefaultsObserver = UserDefaultsObserver (
9695 object: UserDefaults . shared, forKeyPaths: [
9796 UserDefaultPreferenceKeys ( ) . suggestionFeatureEnabledProjectList. key,
@@ -245,12 +244,8 @@ extension Workspace {
245244 @discardableResult
246245 func generateSuggestions(
247246 forFileAt fileURL: URL ,
248- editor: EditorContent ,
249- shouldcancelInFlightRealtimeSuggestionRequests: Bool = true
247+ editor: EditorContent
250248 ) async throws -> [ CodeSuggestion ] {
251- if shouldcancelInFlightRealtimeSuggestionRequests {
252- cancelInFlightRealtimeSuggestionRequests ( )
253- }
254249 refreshUpdateTime ( )
255250
256251 let filespace = createFilespaceIfNeeded ( fileURL: fileURL)
@@ -291,7 +286,6 @@ extension Workspace {
291286 }
292287
293288 func selectNextSuggestion( forFileAt fileURL: URL ) {
294- cancelInFlightRealtimeSuggestionRequests ( )
295289 refreshUpdateTime ( )
296290 guard let filespace = filespaces [ fileURL] ,
297291 filespace. suggestions. count > 1
@@ -303,7 +297,6 @@ extension Workspace {
303297 }
304298
305299 func selectPreviousSuggestion( forFileAt fileURL: URL ) {
306- cancelInFlightRealtimeSuggestionRequests ( )
307300 refreshUpdateTime ( )
308301 guard let filespace = filespaces [ fileURL] ,
309302 filespace. suggestions. count > 1
@@ -315,7 +308,6 @@ extension Workspace {
315308 }
316309
317310 func rejectSuggestion( forFileAt fileURL: URL , editor: EditorContent ? ) {
318- cancelInFlightRealtimeSuggestionRequests ( )
319311 refreshUpdateTime ( )
320312
321313 if let editor, !editor. uti. isEmpty {
@@ -331,7 +323,6 @@ extension Workspace {
331323 }
332324
333325 func acceptSuggestion( forFileAt fileURL: URL , editor: EditorContent ? ) -> CodeSuggestion ? {
334- cancelInFlightRealtimeSuggestionRequests ( )
335326 refreshUpdateTime ( )
336327 guard let filespace = filespaces [ fileURL] ,
337328 !filespace. suggestions. isEmpty,
@@ -412,10 +403,8 @@ extension Workspace {
412403 return filespace. isExpired
413404 }
414405
415- func cancelInFlightRealtimeSuggestionRequests( ) {
416- for task in realtimeSuggestionRequests {
417- task. cancel ( )
418- }
419- realtimeSuggestionRequests = [ ]
406+ func cancelInFlightRealtimeSuggestionRequests( ) async {
407+ guard let suggestionService else { return }
408+ await suggestionService. cancelRequest ( )
420409 }
421410}
0 commit comments