Skip to content

Commit ee38ab9

Browse files
committed
Sync missing products and variations after syncing main order
1 parent 189addc commit ee38ab9

File tree

1 file changed

+15
-9
lines changed

1 file changed

+15
-9
lines changed

WooCommerce/Classes/ViewModels/Order Details/OrderDetailsViewModel.swift

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -192,17 +192,23 @@ extension OrderDetailsViewModel {
192192
syncState = .syncing
193193

194194
group.enter()
195-
syncOrder { _ in
196-
group.leave()
197-
}
195+
syncOrder { [weak self] _ in
196+
// Products require order.items data, so sync them only after the order is loaded
197+
guard let self = self else {
198+
group.leave()
199+
return
200+
}
198201

199-
group.enter()
200-
syncProducts { _ in
201-
group.leave()
202-
}
202+
group.enter()
203+
self.syncProducts { _ in
204+
group.leave()
205+
}
206+
207+
group.enter()
208+
self.syncProductVariations { _ in
209+
group.leave()
210+
}
203211

204-
group.enter()
205-
syncProductVariations { _ in
206212
group.leave()
207213
}
208214

0 commit comments

Comments
 (0)