Theseus Navigator — Silent Mode's Electron browser with the Ariadne resolver built in.
Find a file
Local Dev 2be859267e Theseus UX batch: tabs, address history, password autofill MVP, home cards
Six user-visible improvements + supporting infra, all uncommitted from
the earlier session-in-progress state. Ships together in one release.

Chrome / tabs
- Same-size tabs: flex 1 1 0 with max 200px, min 60px. Container gets
  overflow: hidden so many tabs shrink evenly instead of scrolling out.
- Drag-and-drop tab reordering. HTML5 drag events on each .tab; drop
  side chosen by pointer x within target (Chrome UX). New move-tab IPC
  splices the tabs array + re-emits.

Address bar
- Persistent history at userData/history.json capped at 500 LRU. Ranked
  by host-prefix > url-prefix > contains > title-contains > recency.
- Floating suggestions dropdown (addressPicker WebContentsView) anchored
  under the URL bar. Debounced 80ms input; ArrowUp/Down forward to the
  picker via address-cursor IPC; Enter fires goURL; blur closes after
  160ms so click-through registers. New files address-picker.html +
  address-picker-preload.js. Cleared by existing clearHistoryOnQuit.

Password autofill (A.2 MVP)
- Green key chip in the address bar appears when the vault is UNLOCKED
  and the active tab's host has matching credentials (exact hostname
  match for phase 1; eTLD+1 upgrade queued as A.2.5).
- Click chip → floating picker of usernames. Click a match → main.js
  runs a small script in the active tab: finds first visible
  input[type=password]:not([disabled]), walks the same form for a
  visible text/email/tel/url/search input whose name/id/autocomplete
  matches /username|user|email|login|account|id/, fills both via the
  native value setter + dispatches input/change so React/Vue-controlled
  inputs update. New files pw-fill.html + pw-fill-preload.js.
- emitPwAvailability fires from pushNav + vault setup/unlock/lock so
  the chip's visibility + count stays accurate.

Bookmarks bar
- Right-click context menu on the favorites bar. On empty area:
  "Add current page" (or "Remove current page" if already saved). On a
  specific bookmark: "Open", "Edit title…" (prompt), "Remove", plus
  the add/remove-current entry. Uses a shared .ctxmenu style mirroring
  the settings ctxmenu (dark/light aware).
- Empty-state text updated to mention right-click.

Home page
- Larger responsive card grid: auto-fill minmax(260-280px, 1fr) with
  breakpoints at 600/900/1200. Cards have a subtitle line, a colored
  badge (on-chain / Sia / server / custom), and edit affordances that
  reveal only in Edit mode.
- User-editable set: Edit toggle reveals per-card ✎/✕ + a dashed "+ Add
  card" tile. Modal for add/edit with title / URL / subtitle / badge.
  Reset-to-defaults button.
- Persisted at userData/home-cards.json. New home-preload.js exposes
  window.home = { getCards, setCards, resetCards, navigate }. IPC
  handlers in main.js validate sender.getURL() matches our own
  home.html — third-party pages see the API shape via the preload but
  can't act on the user's local cards.
- Fallback set of 2 cards renders when window.home is unavailable
  (e.g. opening home.html directly outside Electron for preview) so
  the grid is never blank.

Docs
- TheseusNavigator/ROADMAP-identity-wallet.md — the phased plan for
  the two independent strands (password manager A.2/3, browser wallet
  B.1-6). Committed earlier this session; re-listed here for context.
- TheseusNavigator/SESSION-PROMPT-identity-wallet.md — pastable
  kickoff for the next session picking up either strand.

Files added to build.files: address-picker.html,
address-picker-preload.js, pw-fill.html, pw-fill-preload.js,
home-preload.js.
2026-08-17 02:17:12 +02:00
dev Resolver 3438d558: ASCII-clean install.ps1 + multi-TLD NRPT + VPS-first electrum 2026-07-31 23:09:23 +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 UX batch: tabs, address history, password autofill MVP, home cards 2026-08-17 02:17:12 +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 Theseus: download tracker, search split, discover-more tier, UX polish 2026-08-02 15:31:47 +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
main.js Theseus UX batch: tabs, address history, password autofill MVP, home cards 2026-08-17 02:17:12 +02:00
package-lock.json Initial commit — Silent Mode baseline (2026-07-29) 2026-07-29 13:54:34 +02:00
package.json Theseus UX batch: tabs, address history, password autofill MVP, home cards 2026-08-17 02:17:12 +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 UX batch: tabs, address history, password autofill MVP, home cards 2026-08-17 02:17:12 +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.