Skip to content

Commit 74956ee

Browse files
committed
Capture POSAggregateModel in card connection Tasks weakly to release if connection hasn't finished
connectReader calls may not finish, for example, when onboarding is shown. If POS is closed, POSAggregateModel is not released. To solve this issue, capturing self weakly so POSAggregateModel would be released even if the Task hasn't finished
1 parent 5d4e4eb commit 74956ee

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

WooCommerce/Classes/POS/Models/PointOfSaleAggregateModel.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -167,14 +167,14 @@ extension PointOfSaleAggregateModel {
167167
}
168168

169169
func connectCardReader() {
170-
Task { @MainActor in
171-
_ = try await cardPresentPaymentService.connectReader(using: .bluetooth)
170+
Task { @MainActor [weak self] in
171+
_ = try await self?.cardPresentPaymentService.connectReader(using: .bluetooth)
172172
}
173173
}
174174

175175
func disconnectCardReader() {
176-
Task { @MainActor in
177-
await cardPresentPaymentService.disconnectReader()
176+
Task { @MainActor [weak self] in
177+
await self?.cardPresentPaymentService.disconnectReader()
178178
}
179179
}
180180

0 commit comments

Comments
 (0)