diff --git a/CHANGELOG.md b/CHANGELOG.md index aa3583af47..8b1a085a89 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,7 @@ # Unreleased +- [IMPROVEMENT] Start sending data immediately after SDK is initialized. See [#1798][] + # 2.10.0 / 23-04-2024 - [IMPROVEMENT] Add image duplicate detection between sessions. See [#1747][] @@ -639,6 +641,7 @@ Release `2.0` introduces breaking changes. Follow the [Migration Guide](MIGRATIO [#1774]: https://github.com/DataDog/dd-sdk-ios/pull/1774 [#1763]: https://github.com/DataDog/dd-sdk-ios/pull/1763 [#1767]: https://github.com/DataDog/dd-sdk-ios/pull/1767 +[#1798]: https://github.com/DataDog/dd-sdk-ios/pull/1798 [#1721]: https://github.com/DataDog/dd-sdk-ios/pull/1721 [#1747]: https://github.com/DataDog/dd-sdk-ios/pull/1747 [@00fa9a]: https://github.com/00FA9A diff --git a/DatadogCore/Sources/Core/Upload/DataUploadWorker.swift b/DatadogCore/Sources/Core/Upload/DataUploadWorker.swift index 809f848d67..b2d6aba5bc 100644 --- a/DatadogCore/Sources/Core/Upload/DataUploadWorker.swift +++ b/DatadogCore/Sources/Core/Upload/DataUploadWorker.swift @@ -66,8 +66,7 @@ internal class DataUploadWorker: DataUploadWorkerType { self.maxBatchesPerUpload = maxBatchesPerUpload self.featureName = featureName self.telemetry = telemetry - - self.readWork = DispatchWorkItem { [weak self] in + let readWorkItem = DispatchWorkItem { [weak self] in guard let self = self else { return } @@ -87,7 +86,10 @@ internal class DataUploadWorker: DataUploadWorkerType { self.scheduleNextCycle() } } - scheduleNextCycle() + self.readWork = readWorkItem + + // Start sending batches immediately after initialization: + queue.async(execute: readWorkItem) } private func scheduleNextCycle() {