mirror of
https://github.com/SteamDeckHomebrew/decky-loader.git
synced 2026-07-11 08:02:00 +00:00
fix React DevTools again
This commit is contained in:
+16
-2
@@ -233,7 +233,7 @@ class Utilities:
|
|||||||
self.rdt_proxy_server.close()
|
self.rdt_proxy_server.close()
|
||||||
self.rdt_proxy_task.cancel()
|
self.rdt_proxy_task.cancel()
|
||||||
|
|
||||||
async def enable_rdt(self):
|
async def _enable_rdt(self):
|
||||||
# TODO un-hardcode port
|
# TODO un-hardcode port
|
||||||
try:
|
try:
|
||||||
self.stop_rdt_proxy()
|
self.stop_rdt_proxy()
|
||||||
@@ -243,11 +243,22 @@ class Utilities:
|
|||||||
self.logger.info("Connecting to React DevTools at " + ip)
|
self.logger.info("Connecting to React DevTools at " + ip)
|
||||||
async with ClientSession() as web:
|
async with ClientSession() as web:
|
||||||
res = await web.request("GET", "http://" + ip + ":8097", ssl=helpers.get_ssl_context())
|
res = await web.request("GET", "http://" + ip + ":8097", ssl=helpers.get_ssl_context())
|
||||||
|
script = """
|
||||||
|
if (!window.deckyHasConnectedRDT) {
|
||||||
|
window.deckyHasConnectedRDT = true;
|
||||||
|
// This fixes the overlay when hovering over an element in RDT
|
||||||
|
Object.defineProperty(window, '__REACT_DEVTOOLS_TARGET_WINDOW__', {
|
||||||
|
enumerable: true,
|
||||||
|
configurable: true,
|
||||||
|
get: function() {
|
||||||
|
return FocusNavController?.m_ActiveContext?.ActiveWindow || window;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
""" + await res.text() + "\n}"
|
||||||
if res.status != 200:
|
if res.status != 200:
|
||||||
self.logger.error("Failed to connect to React DevTools at " + ip)
|
self.logger.error("Failed to connect to React DevTools at " + ip)
|
||||||
return False
|
return False
|
||||||
self.start_rdt_proxy(ip, 8097)
|
self.start_rdt_proxy(ip, 8097)
|
||||||
script = "if(!window.deckyHasConnectedRDT){window.deckyHasConnectedRDT=true;\n" + await res.text() + "\n}"
|
|
||||||
self.logger.info("Connected to React DevTools, loading script")
|
self.logger.info("Connected to React DevTools, loading script")
|
||||||
tab = await get_gamepadui_tab()
|
tab = await get_gamepadui_tab()
|
||||||
# RDT needs to load before React itself to work.
|
# RDT needs to load before React itself to work.
|
||||||
@@ -259,6 +270,9 @@ class Utilities:
|
|||||||
self.logger.error("Failed to connect to React DevTools")
|
self.logger.error("Failed to connect to React DevTools")
|
||||||
self.logger.error(format_exc())
|
self.logger.error(format_exc())
|
||||||
|
|
||||||
|
async def enable_rdt(self):
|
||||||
|
self.context.loop.create_task(self._enable_rdt())
|
||||||
|
|
||||||
async def disable_rdt(self):
|
async def disable_rdt(self):
|
||||||
self.logger.info("Disabling React DevTools")
|
self.logger.info("Disabling React DevTools")
|
||||||
tab = await get_gamepadui_tab()
|
tab = await get_gamepadui_tab()
|
||||||
|
|||||||
Reference in New Issue
Block a user