Skip to content

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

Metadata

Metadata

Labels

EngineeringInternalRequires API changes or must be handled by Expensify staffTaskWeeklyKSv2

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions