diff --git a/www/app.js b/www/app.js index ea5fc94..93d71e5 100644 --- a/www/app.js +++ b/www/app.js @@ -329,6 +329,17 @@ async function init() { connect(); } -// Boot after Neutralino is ready +// Boot: wait for BOTH the DOM and the Neutralino runtime to be ready. +// "ready" guarantees native APIs (storage, tray, window) are live. +// DOMContentLoaded guarantees DOM refs exist. +// We race neither — resolve both before calling init(). +let domReady = false; +let neuReady = false; + +function maybeInit() { + if (domReady && neuReady) init(); +} + Neutralino.init(); -document.addEventListener('DOMContentLoaded', init); +Neutralino.events.on('ready', () => { neuReady = true; maybeInit(); }); +document.addEventListener('DOMContentLoaded', () => { domReady = true; maybeInit(); });