Skip to content

Commit d079c1a

Browse files
committed
Move workspace clean up to AutoTrigger
1 parent 5ce858f commit d079c1a

8 files changed

Lines changed: 23 additions & 20 deletions

Core/Sources/Service/AutoTrigger.swift

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,20 @@ actor AutoTrigger {
88
var eventObserver: CGEventObserverType = CGEventObserver()
99
var task: Task<Void, Error>?
1010

11-
private init() {}
11+
private init() {
12+
Task { @ServiceActor in
13+
while !Task.isCancelled {
14+
try await Task.sleep(nanoseconds: 8 * 60 * 60 * 1_000_000_000)
15+
for (url, workspace) in workspaces {
16+
if workspace.isExpired {
17+
workspaces[url] = nil
18+
} else {
19+
workspaces[url]?.cleanUp()
20+
}
21+
}
22+
}
23+
}
24+
}
1225

1326
func start(by listener: ObjectIdentifier) {
1427
listeners.insert(listener)

Core/Sources/Service/XPCService.swift

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -22,18 +22,6 @@ public class XPCService: NSObject, XPCServiceProtocol {
2222
Task {
2323
await AutoTrigger.shared.start(by: identifier)
2424
}
25-
Task { @ServiceActor in
26-
while !Task.isCancelled {
27-
try await Task.sleep(nanoseconds: 8 * 60 * 60 * 1_000_000_000)
28-
for (url, workspace) in workspaces {
29-
if workspace.isExpired {
30-
workspaces[url] = nil
31-
} else {
32-
workspace.cleanUp()
33-
}
34-
}
35-
}
36-
}
3725
}
3826

3927
deinit {

Core/Tests/ServiceTests/AcceptSuggestionTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ final class AcceptSuggestionTests: XCTestCase {
99
let mock = MockSuggestionService(completions: [])
1010

1111
override func setUp() async throws {
12-
clearEnvironment()
12+
await clearEnvironment()
1313
Environment.createSuggestionService = { [unowned self] _ in self.mock }
1414
}
1515

Core/Tests/ServiceTests/Environment.swift

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,12 @@ import XPCShared
88

99
@testable import Service
1010

11-
func clearEnvironment() {
11+
@ServiceActor func clearEnvironment() {
12+
workspaces = [:]
13+
1214
Environment.now = { Date() }
1315

14-
Environment.fetchCurrentProjectRootURL = {
16+
Environment.fetchCurrentProjectRootURL = { _ in
1517
URL(fileURLWithPath: "/path/to/project")
1618
}
1719

Core/Tests/ServiceTests/GetNextSuggestionTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ final class GetNextSuggestionTests: XCTestCase {
99
let mock = MockSuggestionService(completions: [])
1010

1111
override func setUp() async throws {
12-
clearEnvironment()
12+
await clearEnvironment()
1313
Environment.createSuggestionService = { [unowned self] _ in self.mock }
1414
}
1515

Core/Tests/ServiceTests/GetPreviousSuggestionTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ final class GetPreviousSuggestionTests: XCTestCase {
99
let mock = MockSuggestionService(completions: [])
1010

1111
override func setUp() async throws {
12-
clearEnvironment()
12+
await clearEnvironment()
1313
Environment.createSuggestionService = { [unowned self] _ in self.mock }
1414
}
1515

Core/Tests/ServiceTests/GetSuggestionsTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ final class GetSuggestionsTests: XCTestCase {
99
let mock = MockSuggestionService(completions: [])
1010

1111
override func setUp() async throws {
12-
clearEnvironment()
12+
await clearEnvironment()
1313
Environment.createSuggestionService = { [unowned self] _ in self.mock }
1414
}
1515

Core/Tests/ServiceTests/RejectSuggestionTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ final class RejectSuggestionTests: XCTestCase {
99
let mock = MockSuggestionService(completions: [])
1010

1111
override func setUp() async throws {
12-
clearEnvironment()
12+
await clearEnvironment()
1313
Environment.createSuggestionService = { [unowned self] _ in self.mock }
1414
}
1515

0 commit comments

Comments
 (0)