protobufjs v8 reads TextDecoder at import time, and Hermes does not provide it. The polyfill assignment in index.js ran after hoisted imports, so the app crashed on launch with 'Property TextDecoder doesn't exist'. Move the polyfills into their own module imported first so they are installed before any other module executes.
35 lines
910 B
JavaScript
35 lines
910 B
JavaScript
import './polyfills';
|
|
import 'react-native-gesture-handler';
|
|
import { enableScreens } from 'react-native-screens';
|
|
enableScreens();
|
|
|
|
/**
|
|
* @format
|
|
* @lint-ignore-every XPLATJSCOPYRIGHT1
|
|
*/
|
|
|
|
// polyfills
|
|
import 'react-native-get-random-values';
|
|
import 'react-native-url-polyfill/auto';
|
|
import 'message-port-polyfill';
|
|
import Long from 'long';
|
|
import protobuf from 'protobufjs';
|
|
|
|
protobuf.util.Long = Long;
|
|
protobuf.configure();
|
|
|
|
import {AppRegistry, LogBox} from 'react-native';
|
|
import './shim.js';
|
|
import App from './App.tsx';
|
|
import {name as appName} from './app.json';
|
|
|
|
// Suppress red screen for known ldk-node async errors that surface as unhandled
|
|
// rejections from the native runtime (these are handled via AlertStore instead)
|
|
LogBox.ignoreLogs([
|
|
'FeerateEstimationUpdateTimeout',
|
|
'Updating fee rate estimates timed out',
|
|
'NodeException'
|
|
]);
|
|
|
|
AppRegistry.registerComponent(appName, () => App);
|