callstack / callstack/react-native-builder-bob

Error when trying to register headless task in library

Abierto
#883 0 comentarios 0 reacciones 0 asignados Ver en GitHub
bug
Lenguaje dominante
JavaScript
Estrellas
3.2k
Forks
228
Merge medio
7 d 12 h
PR fusionados (30 d)
3

Descripción

### Description

Hi!

I'm trying to create a wrapper around the `AppRegistry.registerHeadlessTask` function in my library like this:
```
export function setBackgroundMessageHandler(handler: BackgroundMessageHandler) {
AppRegistry.registerHeadlessTask('MediaControlsHeadlessTask', () => handler);
}
```

And this is in the example/index,js:
```
setBackgroundMessageHandler(require('./src/handler'));
```

This results in the following errors:
```
E Invariant Violation: "MediaControlsExample" has not been registered. This can happen if:
* Metro (the local dev server) is run from the wrong folder. Check if Metro is running, stop it, and restart it in the current project.
* A module failed to load due to an error, and `AppRegistry.registerComponent` wasn't called., js engine: hermes

E ExceptionsManager should be set up after React DevTools to avoid console.error arguments mutation
E TypeError: property is not writable, js engine: hermes
E TypeError: Cannot read property 'default' of undefined, js engine: hermes
```

Calling `AppRegistry.registerHeadlessTask` in the example/index.js directly works. It seems like AppRegistry points to two react-native instances?! E.g. when printing `AppRegistry.getAppKeys()`, I get different results in the example/index.js and the library.

### Packages

- [x] create-react-native-library
- [ ] react-native-builder-bob

### Selected options

"create-react-native-library": {
"languages": "kotlin-objc",
"type": "turbo-module",
"version": "0.52.0"
}

### Link to repro

https://github.com/mbpictures/react-native-media-notification/tree/feat/android-auto-library

### Environment

info Fetching system and libraries information...
System:
OS: Windows 11 10.0.26100
CPU: (24) x64 13th Gen Intel(R) Core(TM) i7-13700K
Memory: 3.77 GB / 31.77 GB
Binaries:
Node:
version: 22.16.0
path: C:\Program Files\nodejs\node.EXE
Yarn:
version: 3.6.1
path: ~\AppData\Roaming\npm\yarn.CMD
npm:
version: 8.12.2
path: C:\Program Files\nodejs\npm.CMD
Watchman: Not Found
SDKs:
Android SDK: Not Found
Windows SDK:
AllowAllTrustedApps: Enabled
AllowDevelopmentWithoutDevLicense: Enabled
Versions:
- 10.0.19041.0
- 10.0.22000.0
IDEs:
Android Studio: Not Found
Visual Studio:
- 16.11.35026.282 (Visual Studio Community 2019)
- 17.10.35122.118 (Visual Studio Community 2022)
Languages:
Java: 17.0.9
Ruby:
version: 3.2.3
path: C:\Ruby32-x64\bin\ruby.EXE
npmPackages:
"@react-native-community/cli":
installed: 18.0.0
wanted: 18.0.0
react:
installed: 19.0.0
wanted: 19.0.0
react-native:
installed: 0.79.2
wanted: 0.79.2
react-native-windows: Not Found
npmGlobalPackages:
"*react-native*": Not Found
Android:
hermesEnabled: true
newArchEnabled: true
iOS:
hermesEnabled: Not found
newArchEnabled: Not found

info React Native v0.81.0 is now available (your project is running on v0.79.2).
info Changelog: https://github.com/facebook/react-native/releases/tag/v0.81.0
info Diff: https://react-native-community.github.io/upgrade-helper/?from=0.79.2&to=0.81.0
info For more info, check out "https://reactnative.dev/docs/upgrading?os=windows".

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.