Broad-scope commit sweeping in work from parallel sessions plus this session's dev-only utilities. No single unifying theme — this is the "commit everything that's ready" pass. Grouped by area below. AriadneResolver / mobile * Small updates to BchFetcher, Bns, MainActivity, AriadneVpnService, and the Android manifest — from a parallel mobile-resolver session. * AriadneResolver/mobile/webpreview/ — new local dev webview (index.html + server.mjs) for iterating on the mobile UI without a device. Email / SnappyMail * Email/snappymail-plugin/silentmode-addresses — new SnappyMail plugin (README, CSS, PHP entry, JS) for surfacing @silentmode.st address management inside the webmail UI. Hephaestus (Forgejo + auth-proxy) * auth-proxy/src/oidc.ts + docker-compose.yml updates. * scripts/bootstrap-auth.sh — idempotent script that registers the wallet auth-proxy as Forgejo's OIDC provider after `docker compose up -d`. All secrets read from .env — no literals in the script. TheseusNavigator / dev tools * dev/list-tlds.mjs — enumerate every registered BNS name grouped by TLD via our own indexer. * dev/show-tlds-bch.mjs — dump the full records payload of the legacy tlds.bch name (kept as a diagnostic for the list-in-one-NFT era). Deviant sites + brand * site/deviant/ — new microsites (anthemus, potidaea, brand, mindmap, main index) plus the full brand kit under site/deviant/brand/ (logos, icons, palette, social exports as SVG source + PNG renders). * site-sirius-x/portal.html — updates. Coordination * _coordination/sessions/mobile-resolver.md — parallel-session notes. Deliberately excluded from this commit: * scratchpad/ — this session's temp drafts (Sia doc mockups, tlds UPD payloads). * TheseusNavigator/_prev/ — ~372 MB of prior release binaries; belongs in a separate artefacts store, not the git tree. Add to .gitignore next pass. |
||
|---|---|---|
| .. | ||
| list-tlds.mjs | ||
| probe-site.mjs | ||
| README.md | ||
| registry-decide.mjs | ||
| rescheck.mjs | ||
| selftest.js | ||
| show-tlds-bch.mjs | ||
| test-directip.mjs | ||
| test-our-indexer.mjs | ||
Theseus dev/test harness
Two ways to drive Theseus's resolution + content path headlessly, for testing
and debugging without clicking through the GUI. Both use the real resolver
(Argus/src/lib/resolver-web.js) and gateway path the shipped app uses.
selftest.js — full render (Electron)
Runs the actual serveBns protocol handler (imported from main.js) in a
hidden offscreen Electron window, loads a bns:// name, lets its JavaScript
execute, then reports what really rendered and writes a screenshot.
npx electron dev/selftest.js hello.bch
npx electron dev/selftest.js coinspectrum.deviant.bch # JS-driven Sia site
THESEUS_SETTLE=8000 npx electron dev/selftest.js <name> # wait longer for data
Output: a JSON report (title, badge, stylesheet/script counts, local vs external
broken-image counts, visible-text length, failed loads, verdict) plus
dev-out/render.png and dev-out/render.html. Exit 0 = PASS. The verdict counts
only the site's own bns:// assets — external CDN images are informational.
This is the faithful version of manual tests #2 (Sia-via-gateway rendering) and
#3 (multi-TLD badge). main.js exports its handler and skips auto-launch when
THESEUS_NO_AUTOSTART=1, which the harness sets.
probe-site.mjs — content path only (Node, no Electron)
Fast check with no display or Electron: resolves a name, fetches the index
through the gateway exactly as serveBns does (with the <base> strip), and
fetches each static same-origin asset, reporting status/content-type.
node dev/probe-site.mjs coinspectrum.deviant.bch
Limitation: static-HTML only. It cannot see assets a page builds at runtime in
JavaScript — use selftest.js for JS-driven sites.
dev-out/
Generated render artifacts (screenshot + HTML dump). Safe to delete; regenerated
on each selftest.js run.