panel.html loaded lib/jsqr.js synchronously: 257 KB and 10,105 lines of
vendored decoder parsed on every panel open, so on every hide/show, for a
feature most sessions never touch. It is now fetched the first time someone
imports a QR image, with concurrent callers sharing one load and a failed
load retryable rather than cached as a permanent rejection.
qr.js and panel.js get `defer`, so the browser can paint the (already dark)
document before executing 300 KB of panel.js. Order is preserved, so qr.js
is still defined before panel.js runs.
Parsed on open: 650 KB -> 399 KB.
This shortens the blank window but does not remove it. The white box itself
is Theseus-side: the sidebar panel's view is built as
new WebContentsView({ webPreferences: { preload: "sidebar-preload.js" } })
with no backgroundColor, and Electron defaults a view's background to white —
so white shows from view-attach until the page paints. Every other view in
the app passes a colour, and registerSidebarPanel takes only
{id, title, icon, page}, so an add-on cannot declare one. Not fixed here:
main.js belongs to the Theseus work in flight.
32 lines
1.2 KiB
JSON
32 lines
1.2 KiB
JSON
{
|
|
"id": "aegis",
|
|
"name": "Aegis Wallet",
|
|
"version": "0.28.1",
|
|
"category": "plugin",
|
|
"description": "Multi-chain wallet (BCH, BTC, TRX, ETH, SOL, SC, DGB) derived from your Theseus vault. Dapps get window.bitcoincash and window.wizardconnect on any site; window.tronWeb / window.tronLink / window.ethereum / window.solana too. Every call needs your approval.",
|
|
"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",
|
|
"main": "index.js",
|
|
"updateURL": "https://navigate.st/bns/theseus.x/extensions/aegis/updates.json",
|
|
"capabilities": [
|
|
"sidebar-panel",
|
|
"vault-derive",
|
|
"page-inject",
|
|
"approval-modal",
|
|
"scan-page",
|
|
"open-tab"
|
|
],
|
|
"absorbs": [
|
|
"bchwallet",
|
|
"siawallet"
|
|
],
|
|
"page-inject": {
|
|
"preload": "wallet-inject.js",
|
|
"origins": [
|
|
"https://*/*",
|
|
"http://localhost/*",
|
|
"http://127.0.0.1/*",
|
|
"http://[::1]/*"
|
|
]
|
|
}
|
|
}
|