Theseus Navigator — Silent Mode's Electron browser with the Ariadne resolver built in.
Setup c5202ddba5a4bf4cd8d71c665c72bdd996ced761f9a7aae295cb960e17988f47 Portable 9142764f78e41c6a6220960d5f7278e0abe6c1c91e5033871d95225355d8feda 0.1.x -> 0.2.x — two new subsystems land together. 0.1.3 (which had only the error pages) is retired; those hashes never went live, so we jump 0.1.2 -> 0.2.0 for clean version->hash 1:1. Add-on framework: - Discovery scans <userData>/addons/<id>/; each add-on carries an addon.json manifest and an activate(api) CommonJS entry. Nothing about a private add-on ships in the public build - drop the folder, restart, it's live. - Bundled 'Notepad' reference add-on ships in resources/bundled-addons/ and is seeded into the user's addons dir on first boot. Right- sidebar textarea, autosave, char/word counter. - Extension point in this rev: sidebar-panel (WebContentsView on the right, SIDEBAR_W=340). Toolbar toggle appears only when at least one add-on registers a panel. - Settings gains an Add-ons tab: list installed, per-add-on enable/ disable toggle (settings.disabledAddons persists), Show folder / Open add-ons folder / Reload buttons, trust-model warning. - Origin-gated per-addon storage: main derives the add-on id from the sender file:// URL, so a panel can only touch its own kv store under <userData>/addons-data/<id>.json. Branded error page: - did-fail-load on every tab -> error.html with kind = name-not- registered (BCNR host + ERR_NAME_NOT_RESOLVED) | name-unreachable (non-BCNR host + NAME_NOT_RESOLVED) | unreachable (conn refused/ reset/timeout) | tls (cert range) | generic. - Actions per kind: Retry + Home always; Search for '<host>' and Register-on-Sirius where a host is present; Tor guide link on unreachable. - Address bar keeps the failed URL (refreshTabUrl already skips file://) so the user can edit and retry. - Ignorable codes (-3 ABORTED, -20 BLOCKED_BY_CLIENT, subframe errors, internalNav) skipped so normal user actions don't paint an error page. Deployed: - scp installers + manifest + tools/ + releases/ pages to VPS - sia-upload of ../site (silentmode.bch) and ../site-theseus-x - verified HEAD 200, manifest reads 0.2.0 2026-08-31 Existing 0.0.6/0.1.2 installs will surface 0.2.0 in the update chip on next launch. |
||
|---|---|---|
| bundled-addons/notepad | ||
| dev | ||
| lib | ||
| nsis | ||
| snapshots | ||
| addons-host.js | ||
| address-picker-preload.js | ||
| address-picker.html | ||
| bcnr-origin.js | ||
| bcnr-preload.js | ||
| BROWSER-PROMPT.md | ||
| chrome.html | ||
| collision-preload.js | ||
| collision.html | ||
| DESIGN-integrated-wallet.md | ||
| DESIGN-password-manager.md | ||
| downloads-preload.js | ||
| downloads.html | ||
| engine-picker-preload.js | ||
| engine-picker.html | ||
| error-preload.js | ||
| error.html | ||
| GOTCHAS.md | ||
| home-preload.js | ||
| home.html | ||
| link-status-preload.js | ||
| link-status.html | ||
| main.js | ||
| messages-preload.js | ||
| messages.html | ||
| package-lock.json | ||
| package.json | ||
| PACKAGING-PROMPT.md | ||
| PENDING.md | ||
| popover-preload.js | ||
| popover.html | ||
| preload.js | ||
| pw-fill-preload.js | ||
| pw-fill.html | ||
| README.md | ||
| RELEASE-HANDOFF.md | ||
| ROADMAP-identity-wallet.md | ||
| SESSION-PROMPT-identity-wallet.md | ||
| settings-preload.js | ||
| settings.html | ||
| sidebar-preload.js | ||
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
.bchresolution — no system daemon, no NRPT, no OS trust-store changes; reusesbns.jsfrom the BNS repo as a library. - Record handling:
hrender,ipconnect,p/s3via in-app gateway,uredirect. - TLS via cert-verify hook (Electron
setCertificateVerifyProc) against the BNS root / on-chaintlsfingerprints — 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.