feat: add shared KMP S3 client for Cells transfers [WPB-26729] - #4262
feat: add shared KMP S3 client for Cells transfers [WPB-26729]#4262MohamadJaara wants to merge 11 commits into
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## develop #4262 +/- ##
=============================================
+ Coverage 61.22% 61.55% +0.33%
- Complexity 4223 4257 +34
=============================================
Files 2195 2197 +2
Lines 71257 71540 +283
Branches 7195 7215 +20
=============================================
+ Hits 43624 44036 +412
+ Misses 24793 24647 -146
- Partials 2840 2857 +17
... and 4 files with indirect coverage changes Continue to review full report in Codecov by Harness.
🚀 New features to boost your workflow:
|
d2c587d to
4490c37
Compare
|
|
@claude review |
Review: Shared KMP S3 client for Cells transfersReviewed the full diff plus the final state of the changed files. Overall this is a nicely scoped change: it removes the heavy AWS SDK Kotlin dependency (and its version catalog) from I confirmed the removed Findings ordered by impact. High1. A full token refresh is triggered on every signed request (incl. each multipart part and each retry)
The previous AWS-SDK path used 2. Retry backoff is far too short to be useful against throttling
Medium3. No HTTP timeouts configured Both actuals build a bare
4. Failed multipart uploads are never aborted If 5. XML parsing is naive and inconsistent
Low / Tests / Nits6. Test gaps
7. Download body is streamed outside the retry wrapper — a mid-stream connection drop during 8. Nits
The retry classification (retryable vs terminal, exception ordering with Automated review |
4490c37 to
747bdf1
Compare
Follow-up on the AI review: |
f75035b to
604f249
Compare



https://wearezeta.atlassian.net/browse/WPB-26729
Stack
Intent
Replace the JVM/Android AWS SDK path and Apple no-ops with a shared internal Ktor S3-compatible client across Apple, JVM, and Android.
Changes
Scope
Strict XML parsing, download-length validation, typed credential failures, and extended edge-case coverage are in #4348.