theseus/bundled-addons/aegis
Local Dev 9f46d932b6 Aegis 0.29.0: start on first use, not at every Theseus launch
Aegis was most of what was left of launch cost: its crypto and
WizardConnect deps block the main thread for ~0.6 s right after the first
frame. It now declares its panel and "activation": "on-demand"; the
dapp bridges are still on every page from the start, and the first page
call, panel open or wiz:// link starts it.

activate() returns a promise the host waits on, so the call that woke
Aegis finds WizardConnect and the mounted wallets. With a locked vault it
does not wait for the mount (derive blocks until unlock), so the page gets
the usual locked answer in ~0.7 s instead of after the host's 5 s limit.

Two things only work while Aegis runs: a live WizardConnect pairing (no one
else listens on its relays) and "stay unlocked" (which also opens
Settings > Passwords). While either is on, Aegis asks the host to start it
at launch, and withdraws the request when both are off. Pairings left
behind by a removed wallet do not count.

Boot trace, same profile, 3 warm runs: main thread blocked in the first
6 s 970-1040 ms -> 300-320 ms, longest block 605-667 ms -> 227-244 ms,
toolbar 1.34-1.61 s -> 0.83-0.87 s.
2026-10-03 21:17:39 +02:00
..
lib perf(aegis): history was 473 round trips in series, and persisted all of them 2026-10-03 16:12:53 +02:00
addon.json Aegis 0.29.0: start on first use, not at every Theseus launch 2026-10-03 21:17:39 +02:00
electrum-servers.json Ship Theseus 0.3.28 5d15508b (Aegis update card + DevTools in tab sidebar + real favicons) 2026-09-08 18:17:25 +02:00
index.js Aegis 0.29.0: start on first use, not at every Theseus launch 2026-10-03 21:17:39 +02:00
panel.html perf(aegis): 251 KB off every panel open — jsQR loads when it is wanted 2026-10-03 16:39:45 +02:00
panel.js perf(aegis): 251 KB off every panel open — jsQR loads when it is wanted 2026-10-03 16:39:45 +02:00
qr.js Ship Theseus 0.3.28 5d15508b (Aegis update card + DevTools in tab sidebar + real favicons) 2026-09-08 18:17:25 +02:00
wallet-inject.js Aegis: the ETH and SOL bridge went missing on most pages, for good 2026-10-03 21:17:38 +02:00