Context
User-provided transform and resolve callbacks in RequestConfigBuilder are awaited without any timeout. A misbehaving callback can hang indefinitely.
The HTTP client layer already has consistent 30-second timeouts across all platforms, but the callback layer has none:
| Component |
Android |
iOS |
Web |
| HTTP client |
30s |
30s |
30s |
| Transform/resolve callbacks |
None |
None |
None |
Proposal
Add a 10-second timeout guard around transform and resolve callback invocations on all platforms:
- Android
RequestConfigBuilder.kt: wrap await() calls with withTimeout(10.seconds)
- iOS: add equivalent timeout around transform/resolve callback invocations
- Web
RequestConfigBuilder.ts: add equivalent withTimeout wrapper
This ensures a misbehaving user callback fails with a clear timeout error rather than hanging silently.