Skip to content

Commit cd9e643

Browse files
committed
docs: explain provider infrastructure request blocking
1 parent 3ce1d5f commit cd9e643

4 files changed

Lines changed: 27 additions & 2 deletions

File tree

apps/docs/src/content/docs/docs/plugins/updater/commonProblems.mdx

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,20 @@ When an update check fails, Capgo usually returns an `error` code and a `message
1515

1616
## Common failure codes
1717

18+
### `provider_infrastructure_request_blocked`
19+
20+
**Cause**
21+
22+
The app has **Block provider infrastructure requests** enabled and the request originated from a known Google or Apple datacenter IP range. Capgo blocks these requests on `/updates`, `/stats`, and `/channel_self` to prevent provider-originated traffic from being treated as device traffic.
23+
24+
**Fix**
25+
26+
- Reproduce the update from a physical device on a normal user network.
27+
- Do not use cloud-hosted probes or provider datacenter runners for updater, stats, or channel-self checks while this protection is enabled.
28+
- If that traffic is intentional, open your app's **Information** tab and turn off **Block provider infrastructure requests**. Re-enable it when the test is complete.
29+
30+
New apps have this protection enabled by default. Apps created before the setting was introduced keep it disabled until you enable it.
31+
1832
### `disable_auto_update_to_major`
1933

2034
**Cause**

apps/docs/src/content/docs/docs/plugins/updater/debugging.mdx

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,16 @@ Capgo detected traffic that looks like it comes from Google or cloud infrastruct
2929

3030
Ignore this on real users. Retry from normal networks and real devices, or wait and check again later.
3131

32+
### `provider_infrastructure_request_blocked`
33+
34+
**What it means**
35+
36+
Your app is configured to block requests from known Google and Apple datacenter IP ranges. The protection applies to update checks, stats, and channel-self requests, so cloud-hosted probes and provider runners can receive this response even when the app configuration is otherwise valid.
37+
38+
**What to do**
39+
40+
Retry from a physical device on a normal user network. If the provider-originated traffic is intentional, temporarily disable **Block provider infrastructure requests** in the app's **Information** tab, then enable it again after the test. New apps enable this setting by default; existing apps retain their previous disabled setting until changed.
41+
3242
### `needPlanUpgrade`
3343

3444
**What it means**

apps/docs/src/content/docs/docs/webapp/logs.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,7 @@ These codes come from the `stats_action` enum used by the dashboard API (`capgo/
165165
| Code | Why this happens | What to do next |
166166
|------|------------------|-------------|
167167
| `invalidIp` | Capgo detected traffic that looks like bot traffic (Google/cloud infrastructure IP). | Ignore on real users; retry from real devices and normal networks, or check after some time. |
168+
| `provider_infrastructure_request_blocked` | The app blocks requests from known Google or Apple datacenter IP ranges. | Retry from a physical device on a normal user network. If provider-originated traffic is intentional, temporarily disable **Block provider infrastructure requests** in the app's Information tab. |
168169
| `needPlanUpgrade` | Organization reached plan/device limit. | Upgrade plan in dashboard or wait for next billing cycle. |
169170
| `semver_error` | Native app version in config is missing or not valid semver (`x.y.z`). | Set `plugins.CapacitorUpdater.version` to valid semver, then verify it in the [SemVer tester](https://capgo.app/semver_tester/) and rebuild the app. |
170171
| `disablePlatformIos` | iOS is disabled in channel policy. | If this was accidental, enable iOS in that channel and republish routing. If you intentionally block iOS in this track, keep it off and move iOS builds to a separate channel. |
@@ -202,8 +203,7 @@ These codes come from the `stats_action` enum used by the dashboard API (`capgo/
202203
| `cannotUpdateViaPrivateChannel`, `NoChannelOrOverride`, `channelMisconfigured` | Channel selection or override failed |
203204
| `missingBundle`, `cannotGetBundle` | Manifest refers to a bundle Capgo cannot serve |
204205
| `needPlanUpgrade` | Org hit its plan/device limit |
205-
| `rateLimited` | Too many requests; SDK throttles until restart |
206-
| `blocked_by_server_url`, `backend_refusal`, `invalidIp` | Server-side rule blocked the request |
206+
| `blocked_by_server_url`, `backend_refusal`, `invalidIp`, `provider_infrastructure_request_blocked` | Server-side rule blocked the request |
207207

208208
**Download / integrity / install failures**
209209

apps/docs/src/content/docs/docs/webapp/main-app-page.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ Here's a breakdown of the available fields and actions:
5656
* **Default Download Channel (6):** Specifies the default channel from which devices will download updates. You can click the edit icon to select a different default channel. See the [Default Channel Configuration](#default-channel-configuration) section below for detailed information.
5757
* **Auto Delete Bundles Not Used (after x seconds) (7):** This setting allows you to automatically delete old bundles that haven't been used for a specified duration (in seconds). Set to `0` to disable auto-deletion. This helps manage storage and keep your bundle list clean.
5858
* **Expose Bundle Metadata to Plugin (8):** When enabled, bundle link and comment fields will be sent to the Capacitor Updater plugin. This feature requires plugin version 7.35.0 or higher.
59+
* **Block Provider Infrastructure Requests:** When enabled, Capgo rejects update, stats, and channel-self requests from known Google and Apple datacenter IP ranges. Leave it enabled for normal production traffic. Disable it temporarily only when you intentionally test from provider infrastructure. New apps enable this protection by default; existing apps retain their previous disabled setting until you change it.
5960
* **Transfer App Ownership (9):** This section provides an option to initiate the transfer of your application to a different organization you are a part of.
6061
* **Delete App Button:** Permanently deletes your application from Capgo. This action is irreversible and will remove all associated data, bundles, channels, and devices.
6162
* **Update Button:** Saves any changes you've made to the editable fields on this page (e.g., App Name, Default Upload Channel, Auto Delete Bundles setting).

0 commit comments

Comments
 (0)