Android: generated ReactNativeHostManager loads React Native twice and crashes (Feature flags cannot be overridden more than once)
Maintainer thường phản hồi trong vòng 4 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 72/100
Hướng nghiên cứu
Bắt đầu với template được sinh ra ReactNativeHostManager.vanilla.kt trong thư mục template của expo-config-plugin, rồi so sánh với ReactNativeBrownfield.kt, nơi initialize gọi loadNativeLibs (SoLoader.init và DefaultNewArchitectureEntryPoint.load). Tái hiện lỗi bằng cách tạo một dự án và khởi chạy ứng dụng. Hoàn thành khi template không còn gọi loadReactNative(application) và ứng dụng khởi chạy mà không có lỗi feature flag.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
The ReactNativeHostManager that the scaffold generates for a React Native CLI project crashes on start:
Feature flags cannot be overridden more than once
It calls loadReactNative(application) and then ReactNativeBrownfield.initialize(...) (ReactNativeHostManager.vanilla.kt). initialize already runs loadNativeLibs, which calls SoLoader.init and DefaultNewArchitectureEntryPoint.load() (ReactNativeBrownfield.kt), so React Native's feature flags are set twice.
Repro: npm create @callstack/react-native-brownfield@latest, package the AAR, and start React Native from a native app with the generated ReactNativeHostManager.initialize.
Fix: remove the loadReactNative(application) call from the template; initialize loads the native libraries itself. Removing it in the generated file makes the app start.
Tested with: @callstack/create-react-native-brownfield 5.3.0, React Native 0.85.2.
- Ngôn ngữ chính
- TypeScript
- Star
- 552
- Fork
- 53
- Merge trung bình
- 4 ngày 13 giờ
- Pull request đã merge (30 ngày)
- 15
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của callstack/react-native-brownfield
-
`package:ios --add-spm-package`: allow project-declared extra XCFrameworks as binary targetsĐang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 55/100
callstack/react-native-brownfield#468 ·
Maintainer thường phản hồi trong vòng 4 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
callstack/react-native-brownfield#420 ·
Maintainer thường phản hồi trong vòng 4 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 38/100
callstack/react-native-brownfield#406 ·
Maintainer thường phản hồi trong vòng 4 ngày
-
Common network layerCó thể làm lại được @dratwas đã nhận 2541 ngày trước và không có pull request nào đang mở. Đang mở
callstack/react-native-brownfield#23 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 4 ngày
-
Add support for bottom tabsCó thể làm lại được @krizzu đã nhận 2541 ngày trước và không có pull request nào đang mở. Đang mở
callstack/react-native-brownfield#22 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 4 ngày
Tất cả issue của callstack/react-native-brownfield
Issue tương tự
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
vercel/streamdown#673 · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
docs(stream-protocol): document messageMetatadata on start/finish and the message-metadata chunkCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mởfactory-active task-identify-harness-labels-done task-identify-issue-type-done
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
vercel/ai#23375 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
agilepathway/label-checker#721 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
CLI Empathy needs triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
chromaui/chromatic-cli#1524 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày