Skip to content

[Due for payment 2026-11-02] Upgrade react-native-web to 0.21.4 before RN 0.88 bump #104549

Open

Description

@mountiny

Parent issue

Part of #101427 — must land before the main React Native 0.88 / Expo SDK 58 bump PR.

Background

Expo SDK 58 imports AssetRegistry straight from react-native. For example, expo-asset (Asset.ts and resolveAssetSource.ts) does import { AssetRegistry } from 'react-native'. On web, react-native resolves to react-native-web, and react-native-web only exports AssetRegistry from its root since 0.21.4. 0.21.2 and 0.21.3 do not export it.

main is on react-native-web 0.21.2, so the web build breaks as soon as SDK 58 lands. Expo SDK 58 bundles react-native-web ~0.21.4.

This is a patch bump inside 0.21.x, so it can land on the current RN 0.86 / Expo SDK 57 stack.

Scope

  • Bump react-native-web 0.21.2 → 0.21.4 in App. Mobile-Expensify does not depend on react-native-web, so no HybridApp change is expected.
  • Rebase or remove the 12 patches under patches/react-native-web/. They are all pinned to 0.21.2 in their filenames. Between 0.21.2 and 0.21.4, upstream changed Text, TextInput, the Touchable* components, ScrollView, Image, StyleSheet, createDOMProps and VirtualizedList. Check these patches carefully:
    • 007+fix-scrollable-overflown-text (Text)
    • 010+fullstory-support (Text, TextInput, TouchableWithoutFeedback, View, createDOMProps)
    • 012+submitBehavior-support (TextInput)
    • 001, 005, 008, 009, 011 (VirtualizedList)
  • Update patches/react-native-web/details.md to match.
  • Check whether the 'react-native/Libraries/Image/AssetRegistry': false alias in config/rsbuild/rsbuild.common.ts is still needed for @shopify/react-native-skia on web.

Target

  • react-native-web@0.21.4 (the version Expo SDK 58 bundles)

Acceptance criteria

  • import { AssetRegistry } from 'react-native' resolves on web
  • npm install applies every react-native-web patch with no errors
  • Web and desktop build and run
  • Lists (LHN, chat, Search) scroll as before, including nested and two direction scroll, with no overscroll recoil
  • Multiline text truncation, TextInput submit behavior, modals and FullStory masking work as before
  • Patch audit documented: keep, update, or remove
  • No new JS console errors

Notes

  • Keep this PR focused — do not include the RN / Expo version bump here
Issue OwnerCurrent Issue Owner: @shubham1206agra

Activity

  1. self-assigned this
    on Oct 21, 2026
  2. added
    ReviewingHas a PR in review
    and removed
    ReviewingHas a PR in review
    on Oct 23, 2026
  3. changed the title [-]Upgrade react-native-web to 0.21.4 before RN 0.88 bump[/-] [+][Due for payment 2026-11-02] Upgrade react-native-web to 0.21.4 before RN 0.88 bump[/+] on Oct 26, 2026
  4. melvin-bot commented on Oct 26, 2026

    @melvin-bot

    @shubham1206agra

    The solution for this issue has been 🚀 deployed to production 🚀 in version 9.5.20-5 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue:

    If no regressions arise, payment will be issued on 2026-11-02. 🎊

    The following checklist (instructions) will need to be completed before the issue can be closed. Please copy/paste the Contributor+ Checklist from here into a new comment on this GH and complete it. If you have the K2 extension, you can simply click: [this button]. If no checklist is needed for this issue, you can click: [no checklist button]

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

Metadata

Metadata

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions