Ship Theseus 0.2.0 c5202ddb (add-on framework + branded error pages)

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.
This commit is contained in:
Local Dev 2026-08-31 14:06:18 +02:00
parent 4d1cee8197
commit e4e5314704
3 changed files with 15 additions and 15 deletions

View file

@ -35,15 +35,15 @@
{
"id": "theseus-navigator",
"product": "Theseus Navigator",
"version": "0.1.3",
"version": "0.2.0",
"date": "2026-08-31",
"platform": "win-x64",
"signed": false,
"signingAuthority": null,
"changes": "Branded error page instead of Chromium's default \"This site can't be reached.\" Kinds: name-not-registered (no BCDN record + no clearnet host — offers to register on Sirius), name-unreachable (DNS failed), unreachable (server down / connection refused), tls (certificate error), generic. Every kind carries retry, home, and where useful, search + register actions. Address bar keeps the failed URL so you can edit and try again. Everything from 0.1.2 (Ariadne checkbox page, Startpage POST fix) rides along.",
"changes": "Two new subsystems. (1) Add-on framework — Settings gains an Add-ons tab; drop a folder into <userData>/addons/ and it's live on restart. Reference add-on 'Notepad' ships in the box (right-sidebar textarea with autosave). Add-ons can register sidebar panels and get per-addon storage. (2) Branded error page instead of Chromium's default 'This site can't be reached'. Kinds: name-not-registered (no BCDN record + no clearnet host — offers to register on Sirius), name-unreachable (DNS failed), unreachable (server down / cert error), generic. Address bar keeps the failed URL so you can edit and retry. Everything from 0.1.2 (Ariadne checkbox page, Startpage POST fix) rides along.",
"files": {
"TheseusNavigator-Setup-0.1.3.exe": "f2afc14efc63008cbb9dad44176e94146386db4c0afda4459f1d4eb929172b6d",
"TheseusNavigator-0.1.3-portable.exe": "5d08b1415526934db8de780949a610896064fe9567aa0e5e1702ebabd7eb7df2"
"TheseusNavigator-Setup-0.2.0.exe": "c5202ddba5a4bf4cd8d71c665c72bdd996ced761f9a7aae295cb960e17988f47",
"TheseusNavigator-0.2.0-portable.exe": "9142764f78e41c6a6220960d5f7278e0abe6c1c91e5033871d95225355d8feda"
}
}
]

View file

@ -49,16 +49,16 @@
mirror cannot change what you check against here.</p>
<div class="rel">
<h2>Theseus Navigator <span style="color:var(--acid)">0.1.3</span></h2>
<div class="meta">Windows 64-bit · unsigned · 2026-08-31 · <b>Ariadne's Thread bundled</b> — installer shows a real wizard-page checkbox (pre-checked) for the system-wide resolver, uninstall symmetrically asks to remove it. Also unbreaks Startpage's in-page search (any POST-form submit). Installer ~118 MB. Portable unchanged.</div>
<h2>Theseus Navigator <span style="color:var(--acid)">0.2.0</span></h2>
<div class="meta">Windows 64-bit · unsigned · 2026-08-31 · <b>Add-on framework + branded error pages</b> — Settings > Add-ons lists modules under &lt;userData&gt;/addons/; drop a folder in, restart, it's live. Notepad reference add-on ships in the box. Load failures now show a name-not-registered / unreachable / TLS / generic error page with Retry + Search + Register-on-Sirius actions; the address bar keeps the failed URL. Carries the Ariadne bundle and Startpage POST fix from 0.1.2.</div>
<div class="file">
<div class="n"><a href="https://dl.silentmode.st/TheseusNavigator-Setup-0.1.3.exe">TheseusNavigator-Setup-0.1.3.exe</a> — installer</div>
<code>f2afc14efc63008cbb9dad44176e94146386db4c0afda4459f1d4eb929172b6d</code>
<div class="n"><a href="https://dl.silentmode.st/TheseusNavigator-Setup-0.2.0.exe">TheseusNavigator-Setup-0.2.0.exe</a> — installer</div>
<code>c5202ddba5a4bf4cd8d71c665c72bdd996ced761f9a7aae295cb960e17988f47</code>
</div>
<div class="file">
<div class="n"><a href="https://dl.silentmode.st/TheseusNavigator-0.1.3-portable.exe">TheseusNavigator-0.1.3-portable.exe</a> — portable</div>
<code>5d08b1415526934db8de780949a610896064fe9567aa0e5e1702ebabd7eb7df2</code>
<div class="n"><a href="https://dl.silentmode.st/TheseusNavigator-0.2.0-portable.exe">TheseusNavigator-0.2.0-portable.exe</a> — portable</div>
<code>9142764f78e41c6a6220960d5f7278e0abe6c1c91e5033871d95225355d8feda</code>
</div>
</div>

View file

@ -110,15 +110,15 @@
<h3>for Windows</h3>
<p class="desc">Full-window desktop browser with Tor toggle and search bar.
macOS and Linux not yet packaged.</p>
<div class="meta">v0.1.3 · installer ~118 MB (with Ariadne's Thread) · portable ~116 MB · unsigned</div>
<div class="meta">v0.2.0 · installer ~118 MB (with Ariadne's Thread) · portable ~116 MB · unsigned</div>
<div class="buttons">
<a class="btn acid" href="https://dl.silentmode.st/TheseusNavigator-Setup-0.1.3.exe">Installer</a>
<a class="btn ghost" href="https://dl.silentmode.st/TheseusNavigator-0.1.3-portable.exe">Portable .exe</a>
<a class="btn acid" href="https://dl.silentmode.st/TheseusNavigator-Setup-0.2.0.exe">Installer</a>
<a class="btn ghost" href="https://dl.silentmode.st/TheseusNavigator-0.2.0-portable.exe">Portable .exe</a>
</div>
<div class="verifybox">
<div class="lbl">SHA-256 — verify before running</div>
<div class="h"><b>Installer</b><code>f2afc14efc63008cbb9dad44176e94146386db4c0afda4459f1d4eb929172b6d</code></div>
<div class="h"><b>Portable</b><code>5d08b1415526934db8de780949a610896064fe9567aa0e5e1702ebabd7eb7df2</code></div>
<div class="h"><b>Installer</b><code>c5202ddba5a4bf4cd8d71c665c72bdd996ced761f9a7aae295cb960e17988f47</code></div>
<div class="h"><b>Portable</b><code>9142764f78e41c6a6220960d5f7278e0abe6c1c91e5033871d95225355d8feda</code></div>
</div>
</div>