@@ -429,25 +429,39 @@ async def _enable_rdt(self):
429429 async with ClientSession () as web :
430430 res = await web .request ("GET" , "http://" + ip + ":8097" , ssl = helpers .get_ssl_context ())
431431 script = """
432- if (!window.deckyHasConnectedRDT) {
433- window.deckyHasConnectedRDT = true;
434- // This fixes the overlay when hovering over an element in RDT
435- Object.defineProperty(window, '__REACT_DEVTOOLS_TARGET_WINDOW__', {
436- enumerable: true,
437- configurable: true,
438- get: function() {
439- return (GamepadNavTree?.m_context?.m_controller || FocusNavController)?.m_ActiveContext?.ActiveWindow || window;
440- }
441- });
442- """ + await res .text () + "\n }"
432+ try {
433+ if (!window.deckyHasConnectedRDT) {
434+ window.deckyHasConnectedRDT = true;
435+ // This fixes the overlay when hovering over an element in RDT
436+ Object.defineProperty(window, '__REACT_DEVTOOLS_TARGET_WINDOW__', {
437+ enumerable: true,
438+ configurable: true,
439+ get: function() {
440+ return window?.DFL?.findSP?.() || window;
441+ }
442+ });
443+ """ + await res .text () + """
444+ // they broke the script so we have to do this ourselves
445+ ReactDevToolsBackend.initialize({
446+ appendComponentStack: true,
447+ breakOnConsoleErrors: false,
448+ showInlineWarningsAndErrors: true,
449+ hideConsoleLogsInStrictMode: false
450+ });
451+ ReactDevToolsBackend.connectToDevTools({port: 8097, host: 'localhost', useHttps: false});
452+ } } catch(e) {console.error('RDT LOAD ERROR', e);}console.log('LOADED RDT');
453+ """
443454 if res .status != 200 :
444455 self .logger .error ("Failed to connect to React DevTools at " + ip )
445456 return False
446457 self .start_rdt_proxy (ip , 8097 )
447458 self .logger .info ("Connected to React DevTools, loading script" )
448459 tab = await get_gamepadui_tab ()
449460 # RDT needs to load before React itself to work.
450- await close_old_tabs ()
461+ try :
462+ await close_old_tabs ()
463+ except Exception :
464+ pass
451465 result = await tab .reload_and_evaluate (script )
452466 self .logger .info (result )
453467
0 commit comments