Skip to content

Revert "feat: Enable react-native-nitro-fetch (V3)" - #97000

Merged
Julesssss merged 1 commit into
mainfrom
revert-95518-@chrispader/enable-nitro-fetch-v3
Jul 24, 2026
Merged

Julesssss merged 1 commit into
mainfrom
revert-95518-@chrispader/enable-nitro-fetch-v3

Conversation

@yuwenmemon

@yuwenmemon yuwenmemon commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Reverts #95518

Fixed Issues

$ #96917
$ #96933

@yuwenmemon
yuwenmemon requested a review from roryabraham July 24, 2026 18:36
@yuwenmemon yuwenmemon self-assigned this Jul 24, 2026
@yuwenmemon
yuwenmemon requested review from a team as code owners July 24, 2026 18:36
@melvin-bot
melvin-bot Bot requested review from heyjennahay and removed request for a team July 24, 2026 18:36
@melvin-bot
melvin-bot Bot requested review from inimaga and removed request for a team July 24, 2026 18:36
@melvin-bot

melvin-bot Bot commented Jul 24, 2026

Copy link
Copy Markdown

@inimaga Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button]

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1c13142b4a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@Julesssss

Copy link
Copy Markdown
Contributor

Builds expected to fail due to mobile-expensify counterpart

@Julesssss
Julesssss merged commit 055f6b0 into main Jul 24, 2026
57 of 61 checks passed
@Julesssss
Julesssss deleted the revert-95518-@chrispader/enable-nitro-fetch-v3 branch July 24, 2026 20:27
@melvin-bot

melvin-bot Bot commented Jul 24, 2026

Copy link
Copy Markdown

@Julesssss looks like this was merged without a test passing. Please add a note explaining why this was done and remove the Emergency label if this is not an emergency.

@melvin-bot melvin-bot Bot added the Emergency label Jul 24, 2026
@Julesssss

Copy link
Copy Markdown
Contributor

@Julesssss looks like this was merged without a test passing. Please add a note explaining why this was done and remove the Emergency label if this is not an emergency.

#97000 (comment)

@OSBotify

Copy link
Copy Markdown
Contributor

✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

OSBotify pushed a commit that referenced this pull request Jul 24, 2026
…ble-nitro-fetch-v3

Revert "feat: Enable `react-native-nitro-fetch` (V3)"

(cherry picked from commit 055f6b0)

(cherry-picked to staging by yuwenmemon)
@OSBotify OSBotify added the CP Staging marks PRs that have been CP'd to staging label Jul 24, 2026
@github-actions

Copy link
Copy Markdown
Contributor

🚧 Julesssss has triggered a test Expensify/App build. You can view the workflow run here.

@OSBotify

Copy link
Copy Markdown
Contributor

🚀 Cherry-picked to staging by https://github.com/yuwenmemon in version: 9.4.44-5 🚀

platform result
🕸 web 🕸 success ✅
🤖 android 🤖 success ✅
🍎 iOS 🍎 success ✅

@MelvinBot

Copy link
Copy Markdown
Contributor

🤖 No help site changes required.

I reviewed the changes in this PR. It's a straight revert of #95518 ("Enable react-native-nitro-fetch (V3)"), and every change is internal networking/infrastructure plumbing with no user-facing behavior:

  • react-native-nitro-fetch polyfills, patches, and package/lockfile entries
  • Certificate pinning (CertificatePinning.kt, pins.json, generateCertificatePins.sh)
  • Prefetch queries (src/libs/Prefetch/*)
  • Network/request internals (HttpUtils.ts, enhanceParameters.ts, Request.ts, Reauthentication.ts)
  • Session auth-token handling (SessionUtils.ts, updateSessionAuthTokens.ts, actions/Session/*)
  • Generated Nitro module bindings and associated tests

None of this maps to any customer-facing feature, setting, tab, or button documented under docs/articles, so no help-site article needs to be created or updated. No draft PR was opened.

@yuwenmemon, please review the linked help site PR and confirm it reflects the current behavior. Then mark the linked help site PR Ready for review

@OSBotify

Copy link
Copy Markdown
Contributor

🚀 Deployed to production by https://github.com/marcaaron in version: 9.4.44-6 🚀

platform result
🕸 web 🕸 success ✅
🤖 android 🤖 success ✅
🍎 iOS 🍎 success ✅

Bundle Size Analysis (Sentry):

@OSBotify

Copy link
Copy Markdown
Contributor

🚀 Cherry-picked to staging by https://github.com/yuwenmemon in version: 9.4.45-0 🚀

platform result
🕸 web 🕸 success ✅
🤖 android 🤖 success ✅
🍎 iOS 🍎 success ✅

@MelvinBot

Copy link
Copy Markdown
Contributor

Help site review — no changes required

I reviewed the changes in this PR against the help site content under docs/articles.

Conclusion: No help site updates are required, and no draft PR was created.

This PR is a pure revert of #95518 ("Enable react-native-nitro-fetch (V3)"). Every change is internal networking/build plumbing with no user-facing surface:

  • Removes the react-native-nitro-fetch library and its native (Cronet) integration, reverting to the shared OkHttp / fetch() networking path
  • Certificate-pinning comments/config reverted to match (native only — pins.json, CertificatePinning.kt, MainApplication.kt)
  • Removes the Prefetch/* request modules and related session/reauthentication token-refresh handling
  • Reverts generated Nitro module code, Podfile.lock, package.json/package-lock.json, patches, and Jest/unit test setup

None of this changes any feature, tab, setting, button label, or documented workflow. There are no src/languages/* copy changes and nothing that any article under docs/articles describes. Accordingly, there is nothing to document and no naming/authoring conventions to apply.

If you believe a specific user-facing behavior did change as a result of this revert (e.g. something previously documented that no longer applies), reply with the detail and I'll create the docs PR.


@yuwenmemon, since no help site changes were required, there is no linked help site PR to review or mark Ready for review. Let me know if you'd like me to file one anyway for a specific behavior change.

mountiny pushed a commit that referenced this pull request Jul 29, 2026
…ader/enable-nitro-fetch-v3"

This reverts commit 055f6b0, reversing
changes made to 8600046.
@OSBotify

Copy link
Copy Markdown
Contributor

🚀 Deployed to production by https://github.com/marcaaron in version: 9.4.45-14 🚀

platform result
🕸 web 🕸 success ✅
🤖 android 🤖 success ✅
🍎 iOS 🍎 success ✅

Bundle Size Analysis (Sentry):

@OSBotify

Copy link
Copy Markdown
Contributor

🚀 Cherry-picked to staging by https://github.com/yuwenmemon in version: 9.4.46-0 🚀

platform result
🕸 web 🕸 success ✅
🤖 android 🤖 success ✅
🍎 iOS 🍎 success ✅

@MelvinBot

Copy link
Copy Markdown
Contributor

No help site changes required

I reviewed the changes in this PR against the help site articles under App/docs/articles and no documentation updates are needed.

This PR reverts #95518 — re-enabling react-native-nitro-fetch (V3). Every change is internal / native-layer plumbing with no user-facing behavior change:

  • Removes the react-native-nitro-fetch NitroFetch/Cronet networking path and its AutoPrefetcher boot entrypoint (index.js, MainApplication.kt)
  • Reverts certificate-pinning code comments to reflect that fetch() again routes through the shared OkHttp client (CertificatePinning.kt, pins.json)
  • Regenerated native module boilerplate (ExpensifyNitroUtils nitrogen output) and the NitroFetch/NitroModules pod entries in ios/Podfile.lock
  • Removes the react-native-nitro-fetch Jest mock (jest/setup.ts)

The Expensify help site documents customer-facing product behavior (workspaces, billing, integrations, features), and none of that is affected by which native networking library backs fetch() under the hood. No draft PR was created since there is nothing to document.

@yuwenmemon, please confirm you agree no help site changes are required. If you believe something here does warrant a docs update, let me know what behavior changed and I'll open a draft PR.

@OSBotify

Copy link
Copy Markdown
Contributor

🚀 Deployed to production by https://github.com/marcaaron in version: 9.4.46-10 🚀

platform result
🕸 web 🕸 success ✅
🤖 android 🤖 success ✅
🍎 iOS 🍎 success ✅

Bundle Size Analysis (Sentry):

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CP Staging marks PRs that have been CP'd to staging

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants