Theseus Navigator — Silent Mode's Electron browser with the Ariadne resolver built in.
Find a file
Local Dev 574c0ed59a Theseus: preserve query on link-navigation intercept + immediate address-bar reflect
Two related navigation bugs, both surfacing when a page inside a tab
tries to submit a search:

1. will-navigate rewriter dropped the query string and fragment.
   Every dotted host went through
     navigateTab(id, parsed.hostname + parsed.pathname)
   which stripped ?q=... The classic-form-GET search engines
   (Google, Brave, Bing, Startpage, Yandex, Ecosia, Mojeek, ...) all
   silently landed on their /search endpoint with no query, so no
   results ever showed. DuckDuckGo only appeared to work because its
   in-page search uses history.pushState + XHR and never triggered
   will-navigate to begin with.
   Fix: pass the whole URL (minus scheme) so query + fragment survive.

2. Address bar showed the previous page's URL until the new page's
   did-navigate fired. navigateTab called setLoading() -> emitTabs()
   BEFORE assigning t.url, so the chrome renderer received the stale
   URL and painted it (goURL() blurs the input on Enter, so the
   "don't clobber typed text" guard didn't skip the write).
   Fix: assign t.url from host+rest immediately, before setLoading.
2026-08-29 22:22:47 +02:00
dev Resolver 3438d558: ASCII-clean install.ps1 + multi-TLD NRPT + VPS-first electrum 2026-07-31 23:09:23 +02:00
lib Hermes: optional bind to password vault (skip the second mnemonic prompt) 2026-08-19 00:38:52 +02:00
address-picker-preload.js Theseus UX batch: tabs, address history, password autofill MVP, home cards 2026-08-17 02:17:12 +02:00
address-picker.html Theseus UX batch: tabs, address history, password autofill MVP, home cards 2026-08-17 02:17:12 +02:00
BROWSER-PROMPT.md Initial commit — Silent Mode baseline (2026-07-29) 2026-07-29 13:54:34 +02:00
chrome.html Theseus 0.0.4: cheap in-app update-check chip 2026-08-28 20:21:44 +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-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
GOTCHAS.md docs: VPS is SilentMode (not Coinspectrum); sketch storage-as-product roadmap 2026-08-18 03:21:03 +02:00
home-preload.js Theseus UX batch: tabs, address history, password autofill MVP, home cards 2026-08-17 02:17:12 +02:00
home.html Theseus UX batch: tabs, address history, password autofill MVP, home cards 2026-08-17 02:17:12 +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 Theseus: preserve query on link-navigation intercept + immediate address-bar reflect 2026-08-29 22:22:47 +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 Hermes: optional bind to password vault (skip the second mnemonic prompt) 2026-08-19 00:38:52 +02:00
package-lock.json Hermes: wire NIP-17 messaging into Theseus, provision chipnet hermes.bch 2026-08-18 20:14:43 +02:00
package.json Theseus: link-hover status bar (bottom-left href pill) 2026-08-29 15:49:30 +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 Theseus 0.0.4: cheap in-app update-check chip 2026-08-28 20:21:44 +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 Theseus UX batch: tabs, address history, password autofill MVP, home cards 2026-08-17 02:17:12 +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 Snapshot in-progress work: Ariadne mobile, Theseus password manager, Hephaestus 2026-08-14 23:17:18 +02:00
settings.html Snapshot in-progress work: Ariadne mobile, Theseus password manager, Hephaestus 2026-08-14 23:17:18 +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.