Skip to content

Commit 7eeecc2

Browse files
committed
on success, remove create subscription request even if not hydrating
* We want to remove this request from the request queue and cache when it returns successfully, even if we don't hydrate. * It can return just `success` with no subscription info if this subscription already exists.
1 parent e7155d3 commit 7eeecc2

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

iOS_SDK/OneSignalSDK/OneSignalUser/Source/OSSubscriptionOperationExecutor.swift

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -207,14 +207,15 @@ class OSSubscriptionOperationExecutor: OSOperationExecutor {
207207
}
208208
OneSignalLog.onesignalLog(.LL_VERBOSE, message: "OSSubscriptionOperationExecutor: executeCreateSubscriptionRequest making request: \(request)")
209209
OneSignalClient.shared().execute(request) { result in
210+
// On success, remove request from cache (even if not hydrating model), and hydrate model
211+
// For example, if app restarts and we read in operations between sending this off and getting the response
212+
self.addRequestQueue.removeAll(where: { $0 == request})
213+
OneSignalUserDefaults.initShared().saveCodeableData(forKey: OS_SUBSCRIPTION_EXECUTOR_ADD_REQUEST_QUEUE_KEY, withValue: self.addRequestQueue)
214+
210215
guard let response = result?["subscription"] as? [String: Any] else {
211216
OneSignalLog.onesignalLog(.LL_ERROR, message: "Unabled to parse response to create subscription request")
212217
return
213218
}
214-
// On success, remove request from cache, and hydrate model
215-
// For example, if app restarts and we read in operations between sending this off and getting the response
216-
self.addRequestQueue.removeAll(where: { $0 == request})
217-
OneSignalUserDefaults.initShared().saveCodeableData(forKey: OS_SUBSCRIPTION_EXECUTOR_ADD_REQUEST_QUEUE_KEY, withValue: self.addRequestQueue)
218219
request.subscriptionModel.hydrate(response)
219220

220221
} onFailure: { error in

0 commit comments

Comments
 (0)