Theseus Navigator — Silent Mode's Electron browser with the Ariadne resolver built in.
Find a file
Local Dev 2c7b82ad60 refactor(theseus/aegis): rename bundle bchwallet→aegis + retire standalone siawallet
Cleans up the naming that leaked from the wallet's origin story (BCH-only)
into the actual bundle layout. Aegis is one integrated addon now:
- Bundle folder: TheseusNavigator/bundled-addons/aegis/ (was bchwallet/).
- Addon id:      "aegis" (was "bchwallet"). Vault-derive still accepts
                 legacy "bchwallet/*" and "siawallet/*" paths via the
                 absorbs list, so no on-chain funds move.
- Version:       0.4.0 (bumped to trigger seedBundledAddons's reseed).
- Retired:       TheseusNavigator/bundled-addons/siawallet/. Sia is
                 folded into Aegis as a chain adapter (lib/sia/*.js
                 already in-tree) and Aegis's manifest lists siawallet
                 under absorbs so pre-Aegis SC keys derive identically.

main.js migrateAegisRename() runs before seedBundledAddons on every
launch. First run does the move; subsequent runs are no-ops:
- addons/bchwallet/  -> addons-backups/bchwallet-migrated-<stamp>/
- addons-data/bchwallet.json COPIED to addons-data/aegis.json (kept
  copied not moved so a downgrade to 0.3.x can still boot).
- addons/siawallet/  -> addons-backups/siawallet-migrated-<stamp>/
  (addons-data/siawallet.json left untouched — its walletdUrl is
  per-user config Aegis's Sia wallet takes fresh via Settings).

settings.html Aegis update card now matches either "aegis" (new id) or
"bchwallet" (pre-rename) so upgraders coming from 0.3.x see the same
one card while the OTA endpoint's next signed bundle catches up.

Internal purpose paths inside index.js/chain-*.js are unchanged —
LEGACY_BCH_PURPOSE stays "bchwallet/mainnet/0" and every purposePrefix
still starts with "bchwallet/*". The addon absorbs its own former id,
so those paths keep resolving to the same seed the shipping Aegis has
been using since 0.3.14.
2026-09-08 18:17:44 +02:00
bundled-addons refactor(theseus/aegis): rename bundle bchwallet→aegis + retire standalone siawallet 2026-09-08 18:17:44 +02:00
dev Ship Theseus 0.0.8: window.bcnr dApp API + eTLD+1 permission origins 2026-08-31 01:38:55 +02:00
docs feat(theseus/addons): signed add-on update endpoint, à la Firefox XPI 2026-09-07 21:58:30 +02:00
lib Hermes: optional bind to password vault (skip the second mnemonic prompt) 2026-08-19 00:38:52 +02:00
nsis Ariadne 0.1.1 + Theseus fetches it from silentmode.st (no more bundling) 2026-09-08 01:27:51 +02:00
scripts fix(theseus/addons): windows-tar fixes for the addon updater, verified end-to-end 2026-09-07 22:28:55 +02:00
snapshots Ship Theseus 0.0.8: window.bcnr dApp API + eTLD+1 permission origins 2026-08-31 01:38:55 +02:00
addon-inject-preload.js feat(theseus/bchwallet): window.bitcoincash dapp bridge with per-origin permissions 2026-09-06 02:56:34 +02:00
addon-tab-preload.js feat(theseus/addons): CDP capture + editor Discard + manual update controls 2026-09-08 02:27:36 +02:00
addon-update-pubkeys.js feat(theseus/addons): bake operator pubkey — signed update endpoint now live 2026-09-07 23:57:47 +02:00
addon-updater.js feat(theseus/addons): per-add-on diagnostic report from checkAndStageUpdates 2026-09-08 18:14:07 +02:00
addons-host.js fix(theseus/light): light-mode acid → BCH-teal #088A66 (brand-family, AA on white) 2026-09-08 00:49:46 +02:00
address-picker-preload.js Ship Theseus 0.3.4 3d6d3d6a (address-picker delete X, Enter picks highlight, URL bar override) 2026-09-02 04:28:54 +02:00
address-picker.html Ship Theseus 0.3.4 3d6d3d6a (address-picker delete X, Enter picks highlight, URL bar override) 2026-09-02 04:28:54 +02:00
approval-preload.js feat(theseus/bchwallet): per-site payment allowance for remembered sends 2026-09-06 12:43:17 +02:00
approval.html fix(theseus/light): sweep hardcoded acid → var(--acid), Theseus button uses BCH dark 2026-09-08 01:06:40 +02:00
bcnr-origin.js Ship Theseus 0.0.8: window.bcnr dApp API + eTLD+1 permission origins 2026-08-31 01:38:55 +02:00
bcnr-preload.js Ship Theseus 0.0.8: window.bcnr dApp API + eTLD+1 permission origins 2026-08-31 01:38:55 +02:00
BROWSER-PROMPT.md Initial commit — Silent Mode baseline (2026-07-29) 2026-07-29 13:54:34 +02:00
chrome.html feat(theseus/find): Ctrl+F opens an in-page find bar 2026-09-08 07:53:48 +02:00
collision-preload.js Collision modes (BCNR/ICANN) + root TLD cert + VPS electrum-source indexer 2026-08-02 11:39:00 +02:00
collision.html Theseus: in-tab collision prompt + toggle-style switcher + auto-switch 2026-08-02 14:43:31 +02:00
DESIGN-integrated-wallet.md Ship Theseus 0.0.8: window.bcnr dApp API + eTLD+1 permission origins 2026-08-31 01:38:55 +02:00
DESIGN-password-manager.md Snapshot in-progress work: Ariadne mobile, Theseus password manager, Hephaestus 2026-08-14 23:17:18 +02:00
downloads-preload.js Theseus: download tracker, search split, discover-more tier, UX polish 2026-08-02 15:31:47 +02:00
downloads.html Theseus: download tracker, search split, discover-more tier, UX polish 2026-08-02 15:31:47 +02:00
engine-picker-preload.js Theseus: Firefox-style search picker (favicons, catalog, scan) 2026-07-30 22:55:52 +02:00
engine-picker.html Theseus: download tracker, search split, discover-more tier, UX polish 2026-08-02 15:31:47 +02:00
error-preload.js feat(theseus/error): offline banner + BCNR did-you-mean on typos 2026-09-04 20:21:30 +02:00
error.html fix(theseus/light): sweep hardcoded acid → var(--acid), Theseus button uses BCH dark 2026-09-08 01:06:40 +02:00
GOTCHAS.md docs: VPS is SilentMode (not Coinspectrum); sketch storage-as-product roadmap 2026-08-18 03:21:03 +02:00
home-preload.js fix(theseus/home): dynamic search-engine name in placeholder 2026-09-08 00:20:37 +02:00
home.html fix(theseus/light): sweep hardcoded acid → var(--acid), Theseus button uses BCH dark 2026-09-08 01:06:40 +02:00
link-status-preload.js Theseus: link-hover status bar (bottom-left href pill) 2026-08-29 15:49:30 +02:00
link-status.html Theseus: link-hover status bar (bottom-left href pill) 2026-08-29 15:49:30 +02:00
main.js refactor(theseus/aegis): rename bundle bchwallet→aegis + retire standalone siawallet 2026-09-08 18:17:44 +02:00
messages-preload.js Hermes: optional bind to password vault (skip the second mnemonic prompt) 2026-08-19 00:38:52 +02:00
messages.html fix: use BCH-primary #0AC18E in light mode + strip Electron token from UA 2026-09-08 01:04:27 +02:00
package-lock.json chore(theseus): sync package-lock.json with package.json 2026-09-07 23:59:40 +02:00
package.json Ship Theseus 0.3.28 5d15508b (Aegis update card + DevTools in tab sidebar + real favicons) 2026-09-08 18:17:25 +02:00
PACKAGING-PROMPT.md Initial commit — Silent Mode baseline (2026-07-29) 2026-07-29 13:54:34 +02:00
PENDING.md Ship Theseus 0.0.2 b62ecf52 (shield green + picker→Search + toggle refactor) 2026-08-06 01:55:46 +02:00
popover-preload.js Collision modes (BCNR/ICANN) + root TLD cert + VPS electrum-source indexer 2026-08-02 11:39:00 +02:00
popover.html Theseus UX polish: BCDN/BCNR terminology + soft-mode prompt redesign 2026-08-02 13:02:47 +02:00
preload.js feat(theseus/find): Ctrl+F opens an in-page find bar 2026-09-08 07:53:48 +02:00
pw-fill-preload.js Theseus UX batch: tabs, address history, password autofill MVP, home cards 2026-08-17 02:17:12 +02:00
pw-fill.html Theseus UX batch: tabs, address history, password autofill MVP, home cards 2026-08-17 02:17:12 +02:00
README.md Initial commit — Silent Mode baseline (2026-07-29) 2026-07-29 13:54:34 +02:00
RELEASE-HANDOFF.md Ship Theseus 0.0.2 (SameSite cookie shim) 2026-08-05 18:51:16 +02:00
ROADMAP-identity-wallet.md docs(theseus): note the Siacoin wallet's derivation and node-URL policy 2026-09-06 18:49:33 +02:00
SESSION-PROMPT-identity-wallet.md Theseus UX batch: tabs, address history, password autofill MVP, home cards 2026-08-17 02:17:12 +02:00
settings-preload.js feat(theseus/settings): Aegis update card + DevTools open in tab sidebar 2026-09-08 18:09:55 +02:00
settings.html refactor(theseus/aegis): rename bundle bchwallet→aegis + retire standalone siawallet 2026-09-08 18:17:44 +02:00
sidebar-preload.js feat(theseus/sidebar): remove redundant in-panel extension picker strip 2026-09-06 22:05:27 +02:00

Theseus Navigator

The browser — the consumer face of the stack. Native .bch support with the resolver built in, so a user installs one app instead of modifying their operating system. Named for the thread through the labyrinth: the chain is the thread.

Scope

  • Electron shell (Chromium engine, no forking): tabs, address bar, history.
  • In-process .bch resolution — no system daemon, no NRPT, no OS trust-store changes; reuses bns.js from the BNS repo as a library.
  • Record handling: h render, ip connect, p/s3 via in-app gateway, u redirect.
  • TLS via cert-verify hook (Electron setCertificateVerifyProc) against the BNS root / on-chain tls fingerprints — no OS store touched.
  • Provenance indicator: shows whether a page came from the chain / Sia / a direct server, with NFT category and record type — the decentralized padlock.

Status: not started

Build it in its own session/repo. The ready-to-paste brief is BROWSER-PROMPT.md (a reference copy in this folder; canonical source is D:\Dev\NameCoin\BROWSER-PROMPT.md — if they diverge, NameCoin wins). It points here and reuses the resolver core. theseus.bch is registered and should eventually serve the browser's own homepage over the protocol it implements.

Roadmap

BUILD-ROADMAP.md Stage 5.