Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable access to the developer menu through NativeModules.DevMenu from within the RNW app context #3822

Open
SounD120 opened this issue Dec 31, 2019 · 7 comments
Labels
API: Completion Area: Developer Menu enhancement help wanted Workstream: Component Parity Close the parity gap between RNW and RN for core RN components and their supporting APIs.
Milestone

Comments

@SounD120
Copy link

SounD120 commented Dec 31, 2019

Hello, I am from React Native Tools VS Code extension developement team. In the extension we have special command palette commands to reload the attached app and to show React Native Developer Menu in it. In RN Android we do that via adb commands, in iRN OS we do that via require('NativeModules').DevMenu.show() and require('NativeModules').DevMenu.reload() during debugging, but in React Native for Windows 0.60.0-vnext.105 there is no DevMenu in the NativeModules list.

React Native iOS React Native Windows
image image

So we'd like to ask if the team plans to implement access to the DevMenu from the NativeModules package, or maybe there are some other alternatives for programmatically accessing Developer Menu during debugging?

@ghost ghost added the Needs: Triage 🔍 New issue that needs to be reviewed by the issue management team (label applied by bot) label Dec 31, 2019
@chrisglein chrisglein added Area: Developer Menu enhancement API: Completion and removed question Needs: Triage 🔍 New issue that needs to be reviewed by the issue management team (label applied by bot) labels Jan 9, 2020
@chrisglein
Copy link
Member

@SounD120 Thanks for looking into this! We do support the developer menu but it looks like we missed the native module access. We'll fill this gap.

@elicwhite
Copy link
Collaborator

I'd kind of expect this functionality in VSCode to be implemented with the metro websocket, rather than directly calling into the NativeModule in the app's JS Context...

I give some code pointers on how that works in this issue on the react-native-mac repo: microsoft/react-native-macos#310

@rectified95
Copy link
Contributor

rectified95 commented Jun 19, 2020

@TheSavior I've read your comment on the macOS issue. I understand Flipper handles the dev menu through Metro. Still, can you tell me why you'd object to exposing the it in NativeModule for the purposes of this task?

@elicwhite
Copy link
Collaborator

I think it’s fine to expose that native module since it exists in iOS. My comment was less about that and more a comment about the implementation chosen for the vscode plugin 😀

@rectified95
Copy link
Contributor

@SounD120 FYI I'm starting to look into this.

@rectified95 rectified95 changed the title Question: Is it possible to get access to NativeModules.DevMenu from the RNW app? Enable access to the developer menu through NativeModules.DevMenu from within the RNW app context? Jun 22, 2020
@rectified95 rectified95 changed the title Enable access to the developer menu through NativeModules.DevMenu from within the RNW app context? Enable access to the developer menu through NativeModules.DevMenu from within the RNW app context Jun 22, 2020
@chrisglein chrisglein modified the milestones: 0.63, Backlog Jul 13, 2020
@rectified95
Copy link
Contributor

Half of the issue is now resolved - we've introduced the DevSettings module, which exposes the Reload() method.
Still, one the scenarios in the VS Code extension is blocked - launching the DevMenu via the extension commands.

@acoates-ms
Copy link
Contributor

As @rectified95 said, the native module exists now. I'm curious about the mechanism being used on iOS. Does that work when doing direct debugging with hermes?

Also windows supports the metro command too, so just hitting 'd' in the metro window will also cause RNW to show the debug menu. -- I suspect that flipper is using the metro command - as the show debug menu button in flipper works in RNW too.

@rectified95 rectified95 removed their assignment Jan 8, 2021
@chiaramooney chiaramooney added the Workstream: Component Parity Close the parity gap between RNW and RN for core RN components and their supporting APIs. label Oct 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
API: Completion Area: Developer Menu enhancement help wanted Workstream: Component Parity Close the parity gap between RNW and RN for core RN components and their supporting APIs.
Projects
None yet
Development

No branches or pull requests

6 participants