Do you want to request a feature or report a bug?
Bug
What is the current behavior?
See detail on https://github.com/facebook/react-native/issues/18899
If the current behavior is a bug, please provide the steps to reproduce and a minimal repository on GitHub that we can yarn install and yarn test.
See detail on https://github.com/facebook/react-native/issues/18899
What is the expected behavior?
Please provide your exact Metro configuration and mention your Metro, node, yarn/npm version and operating system.
Environment:
Packages: (wanted => installed)
More technical details
I made a detailed debugging on how this happens, but I don't know how to solve. This issue happens as a result of two flaws:
Debugging steps
react-native init ...modules.length ===1 in hmrJSBundle@40modules.length === 1 for first websocket (the old one) and modules.length === 0 for the second websocket.modules, 2 of which has empty modules.How to solve
ws libary doesn't have a built-in connection close callback. I tried this one as also suggested in this issue
I'm not familiar with the package. I hope this info help you figure the issue out.
Thanks for the report! I'm looking into it
Any chance of a status update on this? @rafeca
@rafeca any update ?
Hi @rafeca , actually we had similar discussion in the react native repo and people find @cihadturhan 's solution to be working as expected.
Hopefully it can help to solve this issue faster
@cihadturhan Any reason you didn't send a PR with your solution?
@gaearon Ideally a metro should connect more than one client e.g one iPhone simulator, one android emulator and one android phone. My fix removes all the clients and connects just the latest one. So, it鈥檚 not a fix. It鈥檚 a hack. Besides, I think it doesn鈥檛 work anymore.
Do repro instructions still work? I can try to figure out a right fix. I don鈥檛 know the codebase either but I can try to dig into it if I understand the problem and the workflow you鈥檙e trying to achieve better.
@gaearon no they don鈥檛. It was RN 55.4. There have been many updates and metro code changed a lot. I鈥檓 on mobile now so I鈥檓 not even sure same websocket library is still in use.
So if it doesn鈥檛 repro with original instructions then we can consider this fixed?
I think yes. I haven鈥檛 developed RN app for a few months so I鈥檓 not sure but last time I tried I couldn鈥檛 reproduce.
I鈥檓 closing now and will reopen if it鈥檚 needed.
Most helpful comment
Thanks for the report! I'm looking into it