Skip to content

feat: support Expo fetch interception#308

Open
V3RON wants to merge 2 commits into
mainfrom
feat/expo-fetch-interceptor
Open

feat: support Expo fetch interception#308
V3RON wants to merge 2 commits into
mainfrom
feat/expo-fetch-interceptor

Conversation

@V3RON

@V3RON V3RON commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

What is this?

This PR makes Expo fetch requests show up in Network Activity when expo/fetch is available. Before this, those requests could slip past the interceptor because Expo uses its own fetch module instead of the global fetch hook.

How does it work?

This PR resolves expo/fetch at runtime and only enables the Expo fetch interceptor when the module exists. When it does, we patch the Expo module export directly, capture the request/response lifecycle from the Expo response stream, and store the body in the shared registry so the existing details panel can render it. Built-in React Native fetch and raw XHR continue to use the existing XHR path.

Why is this useful?

  • Expo apps now get reliable request visibility without duplicate rows.
  • Older React Native fetch behavior stays on the proven XHR path.
  • The Network panel can still distinguish Expo traffic from builtin and Nitro requests.

Capture Expo fetch responses through a dedicated interceptor while keeping XHR and
old RN fetch on the existing path.

Adds shared response-body helpers, fetch body lookup, and source labels in the UI.
@vercel

vercel Bot commented Jun 15, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
rozenite Skipped Skipped Jun 15, 2026 3:39pm

Request Review

Guard Expo fetch interception behind an optional resolver.
Patch the module export instead of global fetch so Expo requests are captured reliably.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant