Skip to content

Feat/expo sdk 53 api35 migration#4207

Closed
theang wants to merge 13 commits intoBirthdayResearch:mainfrom
theang:feat/expo-sdk-53-api35-migration
Closed

Feat/expo sdk 53 api35 migration#4207
theang wants to merge 13 commits intoBirthdayResearch:mainfrom
theang:feat/expo-sdk-53-api35-migration

Conversation

@theang
Copy link
Copy Markdown

@theang theang commented Apr 11, 2026

What this PR does / why we need it:

Which issue(s) does this PR fixes?:

Fixes #

Additional comments?:

Developer Checklist:

  • Read your code changes at least once
  • Tested on iOS/Android device (e.g, No crashes, library supported etc.)
  • No console errors on web
  • Tested on Light mode and Dark mode*
  • Your UI implementation visually matched the rendered design*
  • Unit tests*
  • Added e2e tests*
  • Added translations*

skutcher and others added 13 commits August 14, 2025 16:57
change owner field from defichain to defichaincommunity
upgraded to Expo 53.0.27 + React 19 + RN 0.79.6
scanner migration, Android API config hardening, CI workflow updates
fixed tests
reason:
The conflict is:

- `react-native-svg@15.11.2` (required by Expo SDK 53 stack)
- `@mealection/react-native-boring-avatars@1.1.2` declares peer `react-native-svg@^13.0.0`

This makes `npm ci` fail in cloud build.

Fix:

Removed the `@mealection/react-native-boring-avatars` dependency
by copying only the source needed for this app, created a local
component under `mobile-app/app/components`, and switching existing
usages to that local component
- Previous version: `1.9.7`
- Current version: `2.11.2`
- Status: upgraded and forced through transitive dependencies using `overrides`
- Additional fix required by the upgrade: Jest transform allowlist now includes `@reduxjs/toolkit` and `immer`
3. `react-hook-form`

- Previous version: `^7.47.0` / installed `7.51.0`
- Current version: `^7.72.1`
- Status: upgraded to a React 19-compatible 7.x release

4. `react-number-format`

- Previous version: `^5.3.3`
- Current version: `^5.4.5`
- Status: upgraded to a release with React 19 peer support

5. `react-qr-code`

- Previous version: `^2.0.12`
- Current version: `^2.0.18`
- Status: upgraded to a release that accepts the current React line

6. `react-redux`

- Previous version: `^8.1.3`
- Current version: `^9.2.0`
- Status: upgraded and forced through transitive dependencies using `overrides`
- Additional fix required by the upgrade: Jest transform allowlist now includes `react-redux` and `use-sync-external-store`

7. `@types/react`

- Previous version: `18.2.64`
- Current version: `^19.2.14`
- Status: pinned in `devDependencies` and `overrides` to align with `react-native@0.79.6`
1. Traefik 3.0 is incompatible with the current Docker API version 1.44+ due to its reliance on an older API version (1.24)

switched to traefik 3.6

2. Because SDK 53 switched to React 19, there is rendering bug (blank page on
   application start)

fixed by removing wallets dependency to store = useMemo(initializeStore())

3. SDK 53 warns about types/react to be specific version:

React types are fixed to the ~19.0.10
Switch to @gorhom/bottom-sheet v5
For SDK 35 need to use useSafeAreaInsets to avoid overlap
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants