diff options
| author | AAGaming <aagaming@riseup.net> | 2024-06-27 00:07:38 -0400 |
|---|---|---|
| committer | AAGaming <aagaming@riseup.net> | 2024-06-27 00:07:38 -0400 |
| commit | dcff7d146bfbe263ee21e4452f32776fe39e7a82 (patch) | |
| tree | 83187a8897f0f65e598375fd3de9ba9be331d559 | |
| parent | 13a38d82fd4b1ccb4dc64b9c583942158bd4c719 (diff) | |
| download | decky-loader-dcff7d146bfbe263ee21e4452f32776fe39e7a82.tar.gz decky-loader-dcff7d146bfbe263ee21e4452f32776fe39e7a82.zip | |
move webpack check into index
| -rw-r--r-- | backend/decky_loader/main.py | 2 | ||||
| -rw-r--r-- | frontend/src/index.ts | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/backend/decky_loader/main.py b/backend/decky_loader/main.py index 92226bac..d8479f1d 100644 --- a/backend/decky_loader/main.py +++ b/backend/decky_loader/main.py @@ -159,7 +159,7 @@ class PluginManager: if ON_LINUX and await tab.has_global_var("deckyHasLoaded", False): await restart_webhelper() return # We'll catch the next tab in the main loop - await tab.evaluate_js("try{if (window.deckyHasLoaded){setTimeout(() => SteamClient.Browser.RestartJSContext(), 100)}else{window.deckyHasLoaded = true;(async()=>{try{while(!window.webpackChunksteamui){await new Promise(r => setTimeout(r, 10))};await import('http://localhost:1337/frontend/index.js?v=%s')}catch(e){console.error(e)};})();}}catch(e){console.error(e)}" % (get_loader_version(), ), False, False, False) + await tab.evaluate_js("try{if (window.deckyHasLoaded){setTimeout(() => SteamClient.Browser.RestartJSContext(), 100)}else{window.deckyHasLoaded = true;(async()=>{try{await import('http://localhost:1337/frontend/index.js?v=%s')}catch(e){console.error(e)};})();}}catch(e){console.error(e)}" % (get_loader_version(), ), False, False, False) except: logger.info("Failed to inject JavaScript into tab\n" + format_exc()) pass diff --git a/frontend/src/index.ts b/frontend/src/index.ts index 1d151dd8..1039fb23 100644 --- a/frontend/src/index.ts +++ b/frontend/src/index.ts @@ -5,6 +5,11 @@ interface Window { } (async () => { + // Wait for react to definitely be loaded + while (!window.webpackChunksteamui || window.webpackChunksteamui <= 3) { + await new Promise(r => setTimeout(r, 10)); // Can't use DFL sleep here. + } + if (!window.SP_REACT) { console.debug('[Decky:Boot] Setting up React globals...'); // deliberate partial import |
