Compare commits

...

2 commits

Author SHA1 Message Date
Local Dev
75b86e87a5 Release pages: Theseus 0.3.98 2026-10-21 02:44:42 +03:00
Local Dev
4ea506596f hermes: propagate M v2 tapered-trails mark + sky-mid everywhere
Earlier iterations left the nested site/hermes/* on the superseded winged-
helmet design and the Theseus addon on acid-green despite the branding
tokens moving to sky-mid. This brings every surface to the same mark + colour:

- TheseusNavigator/bundled-addons/hermes/addon.json: both icon fields
  (toolbar + panel declared) swap from acid-green helmet to sky-mid
  (#38BDF8) tapered-trails envelope. Picks up on next addon re-copy.
- TheseusNavigator/bundled-addons/hermes/panel.html: inline SVG swapped
  from helmet dome paths to the tilted-envelope + 3 tapered trails. Uses
  currentColor so the panel's own colour token drives it.
- site/hermes/branding/mark.svg + mark-stroke.svg: standard (3 trails) +
  simplified 16-20px (1 trail) variants match site-hermes-x/assets/.
- site/hermes/branding/index.html: six inline mark cells (hero + 5 size
  cells) swapped in bulk.
- site/hermes/index.html: hero mark SVG swapped.

Grep confirms all seven surfaces now carry 'rotate(-22 32 32)' — the
tapered-trails signature. Nothing left on the old helmet.
2026-10-21 02:38:46 +03:00
7 changed files with 58 additions and 45 deletions

View file

@ -57,11 +57,12 @@
<header class="hero">
<div class="mark mark-xl" aria-hidden="true">
<svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
<g fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round">
<path d="M20 42 Q 20 12 32 12 Q 44 12 44 42"/>
<path d="M16 42 L48 42"/>
<path d="M44 18 L 60 12"/><path d="M44 24 L 62 22"/><path d="M44 30 L 58 32"/>
<path d="M20 18 L 4 12"/><path d="M20 24 L 2 22"/><path d="M20 30 L 6 32"/>
<g fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" transform="rotate(-22 32 32)">
<rect x="20" y="26" width="30" height="18" rx="1.5"/>
<path d="M20 27 L35 37 L50 27"/>
<path d="M20 30 L2 30"/>
<path d="M20 36 L10 36"/>
<path d="M20 42 L14 42"/>
</g>
</svg>
</div>
@ -96,23 +97,23 @@
<div class="mark-row">
<div class="cell">
<div class="mark-16"><svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg"><g fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"><path d="M20 42 Q 20 12 32 12 Q 44 12 44 42"/><path d="M16 42 L48 42"/><path d="M44 22 L 60 16"/><path d="M20 22 L 4 16"/></g></svg></div>
<div class="mark-16"><svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg"><g fill="none" stroke="currentColor" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" transform="rotate(-22 32 32)"><rect x="20" y="26" width="30" height="18" rx="1.5"/><path d="M20 27 L35 37 L50 27"/><path d="M20 36 L4 36"/></g></svg></div>
<small>16 px — simplified stroke variant</small>
</div>
<div class="cell">
<div class="mark-32"><svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg"><g fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M20 42 Q 20 12 32 12 Q 44 12 44 42"/><path d="M16 42 L48 42"/><path d="M44 18 L 60 12"/><path d="M44 24 L 62 22"/><path d="M44 30 L 58 32"/><path d="M20 18 L 4 12"/><path d="M20 24 L 2 22"/><path d="M20 30 L 6 32"/></g></svg></div>
<div class="mark-32"><svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg"><g fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" transform="rotate(-22 32 32)"><rect x="20" y="26" width="30" height="18" rx="1.5"/><path d="M20 27 L35 37 L50 27"/><path d="M20 30 L2 30"/><path d="M20 36 L10 36"/><path d="M20 42 L14 42"/></g></svg></div>
<small>32 px — standard</small>
</div>
<div class="cell">
<div class="mark-64"><svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg"><g fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M20 42 Q 20 12 32 12 Q 44 12 44 42"/><path d="M16 42 L48 42"/><path d="M44 18 L 60 12"/><path d="M44 24 L 62 22"/><path d="M44 30 L 58 32"/><path d="M20 18 L 4 12"/><path d="M20 24 L 2 22"/><path d="M20 30 L 6 32"/></g></svg></div>
<div class="mark-64"><svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg"><g fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" transform="rotate(-22 32 32)"><rect x="20" y="26" width="30" height="18" rx="1.5"/><path d="M20 27 L35 37 L50 27"/><path d="M20 30 L2 30"/><path d="M20 36 L10 36"/><path d="M20 42 L14 42"/></g></svg></div>
<small>64 px — on panel</small>
</div>
<div class="cell">
<div class="mark-neg"><svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg"><g fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M20 42 Q 20 12 32 12 Q 44 12 44 42"/><path d="M16 42 L48 42"/><path d="M44 18 L 60 12"/><path d="M44 24 L 62 22"/><path d="M44 30 L 58 32"/><path d="M20 18 L 4 12"/><path d="M20 24 L 2 22"/><path d="M20 30 L 6 32"/></g></svg></div>
<div class="mark-neg"><svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg"><g fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" transform="rotate(-22 32 32)"><rect x="20" y="26" width="30" height="18" rx="1.5"/><path d="M20 27 L35 37 L50 27"/><path d="M20 30 L2 30"/><path d="M20 36 L10 36"/><path d="M20 42 L14 42"/></g></svg></div>
<small>on acid green</small>
</div>
<div class="cell">
<div class="mark-amber"><svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg"><g fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M20 42 Q 20 12 32 12 Q 44 12 44 42"/><path d="M16 42 L48 42"/><path d="M44 18 L 60 12"/><path d="M44 24 L 62 22"/><path d="M44 30 L 58 32"/><path d="M20 18 L 4 12"/><path d="M20 24 L 2 22"/><path d="M20 30 L 6 32"/></g></svg></div>
<div class="mark-amber"><svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg"><g fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" transform="rotate(-22 32 32)"><rect x="20" y="26" width="30" height="18" rx="1.5"/><path d="M20 27 L35 37 L50 27"/><path d="M20 30 L2 30"/><path d="M20 36 L10 36"/><path d="M20 42 L14 42"/></g></svg></div>
<small>amber (unread badge)</small>
</div>
</div>

View file

@ -1,14 +1,8 @@
<svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Hermes">
<title>Hermes</title>
<!-- Simplified winged-helmet for 16-20 px sidebar icons. Fewer feathers,
thicker strokes so nothing merges at display size. -->
<g fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round">
<!-- Dome -->
<path d="M20 42 Q 20 12 32 12 Q 44 12 44 42"/>
<!-- Brim -->
<path d="M16 42 L48 42"/>
<!-- One strong wing-stroke per side -->
<path d="M44 22 L 60 16"/>
<path d="M20 22 L 4 16"/>
<g fill="none" stroke="currentColor" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" transform="rotate(-22 32 32)">
<rect x="20" y="26" width="30" height="18" rx="1.5"/>
<path d="M20 27 L35 37 L50 27"/>
<path d="M20 36 L4 36"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 595 B

After

Width:  |  Height:  |  Size: 388 B

View file

@ -1,21 +1,10 @@
<svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Hermes">
<title>Hermes</title>
<!-- Winged helmet (petasos). Dome fills most of the viewBox so it reads as a
helmet, not a hat; feathers emerge from the upper temples and sweep back
and slightly up — the Mercury-dime silhouette. Monochrome stroke uses
currentColor so it inherits text colour. -->
<g fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round">
<!-- Dome: tall bowl -->
<path d="M20 42 Q 20 12 32 12 Q 44 12 44 42"/>
<!-- Brim -->
<path d="M16 42 L48 42"/>
<!-- Right wing: three feathers from the upper temple, tapering back -->
<path d="M44 18 L 60 12"/>
<path d="M44 24 L 62 22"/>
<path d="M44 30 L 58 32"/>
<!-- Left wing: mirror -->
<path d="M20 18 L 4 12"/>
<path d="M20 24 L 2 22"/>
<path d="M20 30 L 6 32"/>
<g fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" transform="rotate(-22 32 32)">
<rect x="20" y="26" width="30" height="18" rx="1.5"/>
<path d="M20 27 L35 37 L50 27"/>
<path d="M20 30 L2 30"/>
<path d="M20 36 L10 36"/>
<path d="M20 42 L14 42"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 944 B

After

Width:  |  Height:  |  Size: 448 B

View file

@ -33,11 +33,12 @@
<header class="hero">
<div class="mark" style="color:var(--acid); line-height:0; display:inline-flex">
<svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg" width="80" height="80" aria-label="Hermes">
<g fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round">
<path d="M20 42 Q 20 12 32 12 Q 44 12 44 42"/>
<path d="M16 42 L48 42"/>
<path d="M44 18 L 60 12"/><path d="M44 24 L 62 22"/><path d="M44 30 L 58 32"/>
<path d="M20 18 L 4 12"/><path d="M20 24 L 2 22"/><path d="M20 30 L 6 32"/>
<g fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" transform="rotate(-22 32 32)">
<rect x="20" y="26" width="30" height="18" rx="1.5"/>
<path d="M20 27 L35 37 L50 27"/>
<path d="M20 30 L2 30"/>
<path d="M20 36 L10 36"/>
<path d="M20 42 L14 42"/>
</g>
</svg>
</div>

View file

@ -5,6 +5,20 @@
"https://dl.silentmode.st/"
],
"releases": [
{
"id": "theseus-navigator",
"product": "Theseus Navigator",
"version": "0.3.98",
"date": "2026-10-21",
"platform": "win-x64",
"signed": false,
"signingAuthority": null,
"changes": "Two more resolvers under Settings › Names & Certificates. Namecoin — .bit names resolve against a configured Namecoin JSON-RPC endpoint and follow translate/alias records to a clearnet host; Namecoin has no free public RPC, so set yours in Advanced. Handshake — non-ICANN hostnames route through the public hns.to web gateway (user-overridable). The default collision policy keeps common ICANN TLDs (original gTLDs + popular new gTLDs + every ccTLD) in clearnet; switch to \"hns-wins\" to always try Handshake first.",
"files": {
"TheseusNavigator-0.3.98-portable.exe": "a9a0296b16ba6bcc28813707914d59e0693e7dfe471a5e0906be285ca035972c",
"TheseusNavigator-Setup-0.3.98.exe": "b700d8446a42f56ecc353b5131abf0b3a01cd5c4a8b062d34845740beea03e5f"
}
},
{
"id": "theseus-navigator",
"product": "Theseus Navigator",

View file

@ -57,6 +57,20 @@
name <code>releases.silentmode.bch</code>; the name pins where it is served from, so a tampered
mirror cannot change what you check against here.</p>
<div class="rel">
<h2>Theseus Navigator <span style="color:var(--acid)">0.3.98</span></h2>
<div class="meta">Windows 64-bit · unsigned · 2026-10-21 · <b>0.3.98 — Namecoin + Handshake adapters</b> — Two more resolvers under Settings › Names &amp; Certificates. <b>Namecoin</b> — <i>.bit</i> names resolve against a configured Namecoin JSON-RPC endpoint and follow <code>translate</code>/<code>alias</code> records to a clearnet host. Namecoin has no free public RPC — set yours in Advanced. <b>Handshake</b> — non-ICANN hostnames route through the public <code>hns.to</code> web gateway (user-overridable). The default collision policy keeps common ICANN TLDs in clearnet; switch to "hns-wins" to always try Handshake first.</div>
<div class="file">
<div class="n"><a href="https://dl.silentmode.st/TheseusNavigator-Setup-0.3.98.exe">TheseusNavigator-Setup-0.3.98.exe</a> — installer</div>
<code>b700d8446a42f56ecc353b5131abf0b3a01cd5c4a8b062d34845740beea03e5f</code>
</div>
<div class="file">
<div class="n"><a href="https://dl.silentmode.st/TheseusNavigator-0.3.98-portable.exe">TheseusNavigator-0.3.98-portable.exe</a> — portable</div>
<code>a9a0296b16ba6bcc28813707914d59e0693e7dfe471a5e0906be285ca035972c</code>
</div>
</div>
<div class="rel">
<h2>Theseus Navigator <span style="color:var(--acid)">0.3.97</span></h2>
<div class="meta">Windows 64-bit · unsigned · 2026-10-21 · <b>0.3.97 — ENS resolver (.eth names → IPFS/IPNS)</b> — First real resolver behind the Names &amp; Certificates toggles. Turn on Settings › Names &amp; Certificates › Ethereum Name Service, then type a .eth name in the address bar; Theseus reads the content hash from the ENS registry on Ethereum (EIP-137 namehash + EIP-1577 contenthash), decodes IPFS/IPNS CIDv0 or CIDv1, and loads the site from a gateway. Defaults: publicnode's free Ethereum RPC + ipfs.io gateway; both user-overridable in Settings › Advanced. Swarm-hosted ENS names return "not yet supported" until we add a swarm gateway option.</div>

View file

@ -144,15 +144,15 @@
<h3>Theseus for Windows</h3>
<p class="desc">Full-window desktop browser with Tor toggle, search bar, password
vault and add-ons. macOS and Linux not yet packaged.</p>
<div class="meta">v0.3.97 · installer ~137 MB · portable ~137 MB · unsigned</div>
<div class="meta">v0.3.98 · installer ~137 MB · portable ~137 MB · unsigned</div>
<div class="buttons">
<a class="btn acid" href="https://dl.silentmode.st/latest/TheseusNavigator-Setup.exe">Installer</a>
<a class="btn ghost" href="https://dl.silentmode.st/latest/TheseusNavigator-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>4749dac4310193b3db8f031325337778fcb9345792aeb392aa66af5ddd5e6805</code></div>
<div class="h"><b>Portable</b><code>5a8ea892ecb9e72763fbcf0a33bc44fb02897ab4ffc27ce8a1ec87eb20b799eb</code></div>
<div class="h"><b>Installer</b><code>b700d8446a42f56ecc353b5131abf0b3a01cd5c4a8b062d34845740beea03e5f</code></div>
<div class="h"><b>Portable</b><code>a9a0296b16ba6bcc28813707914d59e0693e7dfe471a5e0906be285ca035972c</code></div>
</div>
</div>