summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAAGaming <aagaming@riseup.net>2024-06-27 00:07:38 -0400
committerAAGaming <aagaming@riseup.net>2024-06-27 00:07:38 -0400
commitdcff7d146bfbe263ee21e4452f32776fe39e7a82 (patch)
tree83187a8897f0f65e598375fd3de9ba9be331d559
parent13a38d82fd4b1ccb4dc64b9c583942158bd4c719 (diff)
downloaddecky-loader-dcff7d146bfbe263ee21e4452f32776fe39e7a82.tar.gz
decky-loader-dcff7d146bfbe263ee21e4452f32776fe39e7a82.zip
move webpack check into index
-rw-r--r--backend/decky_loader/main.py2
-rw-r--r--frontend/src/index.ts5
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