summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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