ionic-team / ionic-team/capacitor

[Bug]: CapacitorHttp requests do not fire on Android 17 randomly

Open
#8,586 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
16.7k
Forks
1.3k
Avg merge
3d 15h
Merged PRs (30d)
10

Description

### Capacitor Version

```
Latest Dependencies:

@capacitor/cli: 8.5.1
@capacitor/core: 8.5.1
@capacitor/android: 8.5.1
@capacitor/ios: 8.5.1

Installed Dependencies:

@capacitor/cli: 8.5.1
@capacitor/ios: 8.5.1
@capacitor/android: 8.5.1
@capacitor/core: 8.5.1

[success] Android looking great! 👌
```

### Other API Details

```Shell
npm: 11.16.0
node: 24.18.0
```

### Platforms Affected

- [ ] iOS
- [x] Android
- [ ] Web

### Current Behavior

CapacitorHttp.request() never fires on Android 17 over Wi-Fi with Google DNS in Play Store build only



  • Upgraded from Capacitor 7.x to 8.5.1

  • Angular + Ionic, using CapacitorHttp.request() for all API calls

  • minifyEnabled false (R8 not involved)

With CapacitorHttp: { enabled: true }, HTTPS requests to our API never execute, but only under a specific combination of conditions:

Build | Android | DNS | Result
-- | -- | -- | --
Play Store (live) | 17 (real device) | Google 8.8.8.8 | ❌ fails
Play Store (live) | 17 (real device) | ISP / other provider | ✅ works
Locally generated APK | 17 (real device) | Google 8.8.8.8 | ✅ works
Play Store (live) | 16 (real device) | Google 8.8.8.8 | ✅ works
Play Store (live) | 14 (real device) | Google 8.8.8.8 | ✅ works

All rows are the same codebase and the same version. Only the store build, on Android 17, on a network using Google DNS, fails.


In Chrome DevTools (chrome://inspect):



  • Android 16 and 14: the request appears in the network tab and completes normally.

  • Android 17 (failing case): the request never appears in the network tab at all. No pending entry, no failed entry.


DNS records themselves appear healthy: the domain resolves correctly from a Windows machine against 8.8.8.8 (Resolve-DnsName returns valid A records, no SERVFAIL). Our API is hosted on Render behind Cloudflare.

### Expected Behavior

The request either executes and resolves, or rejects with an error. Currently it does neither, no network activity and no exception which leaves the app with no way to detect or recover from the failure.

### Project Reproduction

Unable to provide a public repository

### Additional Information

_No response_

Contributor guide

Open the contributing guide

Research direction

Start at the CapacitorHttp.request() Android entry point and reproduce the Play Store build on Android 17 using Google DNS, comparing it with the local APK and older Android versions. Use chrome://inspect to confirm whether the request is created; done means the failing case either completes or rejects with an observable error.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, angular, typescript
Domain
mobile, networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.