Skip to content

Commit 5cf9f8c

Browse files
committed
Adjust workspace expiry
1 parent 9d9e7c2 commit 5cf9f8c

2 files changed

Lines changed: 16 additions & 11 deletions

File tree

Core/Sources/Service/ScheduledCleaner.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ public final class ScheduledCleaner {
99
// occasionally cleanup workspaces.
1010
Task { @ServiceActor in
1111
while !Task.isCancelled {
12-
try await Task.sleep(nanoseconds: 2 * 60 * 60 * 1_000_000_000)
12+
try await Task.sleep(nanoseconds: 4 * 60 * 60 * 1_000_000_000)
1313
let availableTabs = findAvailableOpenedTabs()
1414
for (url, workspace) in workspaces {
1515
if workspace.isExpired {

Core/Sources/Service/Workspace.swift

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,9 @@ final class Workspace {
7373
}
7474

7575
let projectRootURL: URL
76-
var lastTriggerDate = Environment.now()
76+
var lastSuggestionUpdateTime = Environment.now()
7777
var isExpired: Bool {
78-
Environment.now().timeIntervalSince(lastTriggerDate) > 60 * 60 * 8
78+
Environment.now().timeIntervalSince(lastSuggestionUpdateTime) > 60 * 60 * 8
7979
}
8080

8181
private(set) var filespaces = [URL: Filespace]()
@@ -132,6 +132,10 @@ final class Workspace {
132132
_ = self.copilotSuggestionService
133133
}
134134
}
135+
136+
func refreshUpdateTime() {
137+
lastSuggestionUpdateTime = Environment.now()
138+
}
135139

136140
func canAutoTriggerGetSuggestions(
137141
forFileAt fileURL: URL,
@@ -160,6 +164,7 @@ final class Workspace {
160164
let workspace = workspaces[workspaceURL] ?? Workspace(projectRootURL: workspaceURL)
161165
let filespace = workspace.createFilespaceIfNeeded(fileURL: fileURL)
162166
workspaces[workspaceURL] = workspace
167+
workspace.refreshUpdateTime()
163168
return (workspace, filespace)
164169
}
165170

@@ -192,7 +197,7 @@ extension Workspace {
192197
if shouldcancelInFlightRealtimeSuggestionRequests {
193198
cancelInFlightRealtimeSuggestionRequests()
194199
}
195-
lastTriggerDate = Environment.now()
200+
refreshUpdateTime()
196201

197202
let filespace = createFilespaceIfNeeded(fileURL: fileURL)
198203

@@ -233,7 +238,7 @@ extension Workspace {
233238

234239
func selectNextSuggestion(forFileAt fileURL: URL) {
235240
cancelInFlightRealtimeSuggestionRequests()
236-
lastTriggerDate = Environment.now()
241+
refreshUpdateTime()
237242
guard let filespace = filespaces[fileURL],
238243
filespace.suggestions.count > 1
239244
else { return }
@@ -245,7 +250,7 @@ extension Workspace {
245250

246251
func selectPreviousSuggestion(forFileAt fileURL: URL) {
247252
cancelInFlightRealtimeSuggestionRequests()
248-
lastTriggerDate = Environment.now()
253+
refreshUpdateTime()
249254
guard let filespace = filespaces[fileURL],
250255
filespace.suggestions.count > 1
251256
else { return }
@@ -257,7 +262,7 @@ extension Workspace {
257262

258263
func rejectSuggestion(forFileAt fileURL: URL, editor: EditorContent?) {
259264
cancelInFlightRealtimeSuggestionRequests()
260-
lastTriggerDate = Environment.now()
265+
refreshUpdateTime()
261266

262267
if let editor, !editor.uti.isEmpty {
263268
filespaces[fileURL]?.uti = editor.uti
@@ -273,7 +278,7 @@ extension Workspace {
273278

274279
func acceptSuggestion(forFileAt fileURL: URL, editor: EditorContent?) -> CopilotCompletion? {
275280
cancelInFlightRealtimeSuggestionRequests()
276-
lastTriggerDate = Environment.now()
281+
refreshUpdateTime()
277282
guard let filespace = filespaces[fileURL],
278283
!filespace.suggestions.isEmpty,
279284
filespace.suggestionIndex >= 0,
@@ -301,7 +306,7 @@ extension Workspace {
301306
}
302307

303308
func notifyOpenFile(filespace: Filespace) {
304-
lastTriggerDate = Environment.now()
309+
refreshUpdateTime()
305310
Task {
306311
try await copilotSuggestionService?.notifyOpenTextDocument(
307312
fileURL: filespace.fileURL,
@@ -312,7 +317,7 @@ extension Workspace {
312317

313318
func notifyUpdateFile(filespace: Filespace, content: String) {
314319
filespace.refreshUpdateTime()
315-
lastTriggerDate = Environment.now()
320+
refreshUpdateTime()
316321
Task {
317322
try await copilotSuggestionService?.notifyChangeTextDocument(
318323
fileURL: filespace.fileURL,
@@ -323,7 +328,7 @@ extension Workspace {
323328

324329
func notifySaveFile(filespace: Filespace) {
325330
filespace.refreshUpdateTime()
326-
lastTriggerDate = Environment.now()
331+
refreshUpdateTime()
327332
Task {
328333
try await copilotSuggestionService?.notifySaveTextDocument(fileURL: filespace.fileURL)
329334
}

0 commit comments

Comments
 (0)