Theseus Navigator — Silent Mode's Electron browser with the Ariadne resolver built in.
Two chips carried the same word in two shapes — a globe (Accept-Language) and a translate chip (chip lights when page lang differs) — both labelled "RU" at the same time for a Russian user. The chip for translation is gone. The globe menu now covers both: a "Translate this page from X to Y" item appears at the top when the loaded page is in another supported language, flipping to "Show original" while a translation is on screen. The chip's own code still shows the user's language (EN, RU, …); its tooltip switches to "Translated to <X>. Menu: Show original." when a translation is up, so the one chip reads the whole state. With "Translate automatically" on, Theseus translates in place on did-finish-load the first time it sees a supported source + target mismatch for the active tab — no chip-click needed. A `_tr.autoTried` latch keeps it to one attempt per document (a failing backend doesn't retry on every reflow), and the latch resets on did-start-navigation so the next page gets a fresh shot. The setting copy in Settings › Language now says "Translate automatically" instead of "Offer to translate", so the switch's label matches the behaviour. The picker (both in Settings and in the globe menu) still lists every language in WEBSITE_LANGUAGE_QUICK, but entries whose base code isn't on the translator backend (en, es, fr, de, el, ru today) are shown greyed out with "— translator coming later", and "Other… (Accept-Language only, no translation)" is explicit about what free-form tags buy you. The menu is a roadmap, not a lie: a user picking one of the greyed entries sets Accept-Language and nothing else surprises them. |
||
|---|---|---|
| addon-build/docx-editor | ||
| bundled-addons | ||
| dev | ||
| docs | ||
| engine-icons | ||
| lib | ||
| nsis | ||
| scripts | ||
| snapshots | ||
| addon-inject-preload.js | ||
| addon-tab-preload.js | ||
| addon-update-pubkeys.js | ||
| addon-updater.js | ||
| addons-host.js | ||
| address-picker-preload.js | ||
| address-picker.html | ||
| approval-preload.js | ||
| approval.html | ||
| auth-prompt-preload.js | ||
| auth-prompt.html | ||
| bcnr-origin.js | ||
| bcnr-preload.js | ||
| bns-indexer.js | ||
| BROWSER-PROMPT.md | ||
| chrome.html | ||
| collision-preload.js | ||
| collision.html | ||
| DESIGN-bns-indexer-service.md | ||
| DESIGN-integrated-wallet.md | ||
| DESIGN-password-manager.md | ||
| DESIGN-wallet-multi-account-amendment.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 | ||
| js-dialog-preload.js | ||
| js-dialog.html | ||
| LICENSE | ||
| 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 | ||
| quicklinks-preload.js | ||
| quicklinks.html | ||
| README.md | ||
| RELEASE-HANDOFF.md | ||
| ROADMAP-identity-wallet.md | ||
| SESSION-PROMPT-identity-wallet.md | ||
| settings-preload.js | ||
| settings.html | ||
| sidebar-preload.js | ||
| test-installer.wsb | ||
| THIRD-PARTY-NOTICES.md | ||
| TRADEMARKS.md | ||
| webapps.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.