diff --git a/addon.json b/addon.json index 8abd5d7..5d10635 100644 --- a/addon.json +++ b/addon.json @@ -1,7 +1,7 @@ { "id": "aegis", "name": "Aegis Wallet", - "version": "0.6.1", + "version": "0.6.2", "description": "Multi-chain wallet (BCH, BTC, TRX, ETH, SOL, SC, DGB) derived from your Theseus vault. Dapps get window.bitcoincash on .x sites; window.tronWeb / window.tronLink / window.ethereum / window.solana on any https page.", "author": "Silent Mode", "icon": "data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none'%3E%3Cpolygon points='16,2 28,9 28,23 16,30 4,23 4,9' fill='%230a0a0d' stroke='%23D6FF3D' stroke-width='1.6' stroke-linejoin='round'/%3E%3Ccircle cx='16' cy='16' r='4.5' fill='none' stroke='%23D6FF3D' stroke-width='1.4'/%3E%3Ccircle cx='16' cy='16' r='1.6' fill='%23D6FF3D'/%3E%3C/svg%3E", diff --git a/index.js b/index.js index c29491e..00f3003 100644 --- a/index.js +++ b/index.js @@ -1873,7 +1873,12 @@ module.exports = { // Restore the user's opt-in choice from storage. Off by default so a // fresh install never hits CoinGecko without asking. if (api.storage.get("pricesEnabled", false)) c.priceFeed.setEnabled(true).catch(() => {}); - loadDeps(api).then((d) => { + // The deps are heavy to evaluate (noble curve precompute, bitcoinjs, + // libauth, WizardConnect) and that all happens on the main thread. Wait + // for the browser chrome to paint so the cost never delays Theseus's + // first frame; older hosts without whenUiReady load immediately. + const uiReady = typeof api.whenUiReady === "function" ? api.whenUiReady() : Promise.resolve(); + uiReady.then(() => loadDeps(api)).then((d) => { if (ctx !== c) return; c.d = d; // Start the WizardConnect manager once deps are ready. Per-wallet