argus/src
Local Dev e130596584 feat(gateway): clean URLs — serve <path>.html + strip .html from hrefs
Two symmetric changes so a site published as flat .html files (sirius.x
has tld.html, portal.html, market.html, register.html, studio.html)
reads with clean URLs to the visitor.

1. S3 handler fallback order for extensionless requests:
     /tld  →  tld.html         (new — first)
     /tld  →  tld/index.html   (existing — second)
     /...  →  index.html       (existing — SPA last-resort)
   Requests with a real file extension (.js, .svg, .json) are never
   rescued — those must never be routed by a client-side router and
   swallowing them would hide real bugs.

2. transformHtml() gains stripHtmlExt(): rewrites href="foo.html"
   (relative) to href="foo", preserving anchor and query. Absolute
   URLs (https://silentmode.st/tlds/) are left alone — external
   references are none of our business.

Backwards-compatible: existing /bns/<name>/foo.html links still 200.
Verified end-to-end on sirius.x: /tld, /portal, /market, /register,
/studio all serve; assets under js/, assets/ unchanged; direct .html
requests still work.
2026-09-20 19:34:42 +02:00
..
daemon resolver: echo EDNS OPT record so strict clients stop failing 2026-08-02 01:19:09 +02:00
gateway feat(gateway): clean URLs — serve <path>.html + strip .html from hrefs 2026-09-20 19:34:42 +02:00
indexer BNS: per-TLD on-chain registry, multi-beacon indexer, enforcement gate 2026-08-29 17:11:02 +02:00
lib feat(market): names can be priced in US dollars — a covenant holds the certificate, a gateway-signed oracle sets the BCH amount 2026-09-20 19:20:46 +02:00
web feat(market): names can be priced in US dollars — a covenant holds the certificate, a gateway-signed oracle sets the BCH amount 2026-09-20 19:20:46 +02:00
config.js feat(argus): loadWallet cross-repo fall-through to Deviant encrypted keystore 2026-09-09 02:16:42 +02:00
generate-mobile-index.mjs Ariadne mobile 0.10: bundle BNS starter index in APK 2026-08-30 22:15:10 +02:00
publish-name-mirror.mjs Ship Ariadne 0.11: Sia CDN pull + gitignore _prev/ 2026-08-31 01:05:20 +02:00
publish-tld-mirror.mjs BNS: per-TLD on-chain registry, multi-beacon indexer, enforcement gate 2026-08-29 17:11:02 +02:00
register-electrum-list.mjs BNS: Sia+Nostr snapshot mirror, Theseus warm-start, VPS playbook, electrum.bch 2026-08-30 09:59:01 +02:00
register-hermes-chipnet.mjs Hermes: wire NIP-17 messaging into Theseus, provision chipnet hermes.bch 2026-08-18 20:14:43 +02:00
register.js Initial commit — Silent Mode baseline (2026-07-29) 2026-07-29 13:54:34 +02:00
registrar-config.js feat(registrar): 90/10 revenue split — TLD owner earns from name mints 2026-09-08 02:42:16 +02:00
resolve.js Theseus navigator UI overhaul, BNS-only indexer, site restructure 2026-07-30 08:16:55 +02:00
revert-silentmode-bch.mjs BNS: Sia+Nostr snapshot mirror, Theseus warm-start, VPS playbook, electrum.bch 2026-08-30 09:59:01 +02:00
seed-tld-beacon.mjs feat(argus): seed .cash TLD on the chipnet TLD beacon 2026-09-09 04:52:01 +02:00
snapshot-name-to-file.mjs BNS: Sia+Nostr snapshot mirror, Theseus warm-start, VPS playbook, electrum.bch 2026-08-30 09:59:01 +02:00
update.js Initial commit — Silent Mode baseline (2026-07-29) 2026-07-29 13:54:34 +02:00
wallet-app.js Initial commit — Silent Mode baseline (2026-07-29) 2026-07-29 13:54:34 +02:00