Commit graph

11 commits

Author SHA1 Message Date
Local Dev
59a820757a docs(hephaestus.x): rename §12 to CLI + GUI framing
Section covers both paths — Forgejo GUI and curl/git/docker CLI — so the
heading now reflects that. Anchor #sessions preserved so external links
still work. Follow-up to 980fbd4.
2026-09-20 02:05:44 +02:00
Local Dev
f34535721f docs(hephaestus.x): §12 for parallel sessions + dots-are-OK note in §4
Parallel session assumed (a) Forgejo usernames can't contain dots, and (b) a
wallet mnemonic has to be pasted into a browser to sign in. Both wrong — the
docs now show that.

- §4 gets an 'Allowed characters' subsection listing what Forgejo actually
  accepts (letters, digits, hyphens, underscores, dots). game.x works as-is
  as a username or an org name.
- New §12 'Working with other sessions' — the wallet-vs-PAT split, a full
  five-step recipe for delegating a namespace to a parallel session
  (create org / bootstrap user / add to Owners / mint PAT / clone+push),
  a scriptable programmatic sign-in template so mnemonics never touch a
  browser, and a scope-per-session-shape table.
- TOC + §13 (Help+source) renumbered.
2026-09-20 01:57:46 +02:00
Local Dev
cf2995c73c docs(hephaestus.x): cross-link gotchas + worked example for publishing an app image
Parallel session had to synthesize two things the page should have handed
them upfront. Fixing that:

- §11 (Gotchas) now links from each entry to its full-recipe section:
  HTTPS+PAT → §5+§6, em-dash mojibake → §8, admin-rename → §4. New leading
  entry explicitly separates 'PAT vs wallet passphrase' since it's the most
  common wallet-flow confusion.
- §7 (Container registry) gets a 'Worked example: publish an app's backend as
  an image' subsection — Node/alpine Dockerfile + build+push pair, so the
  next reader doesn't have to compose it from the Log-in and Push blocks.

Follow-up to cc544c8.
2026-09-20 01:18:50 +02:00
Local Dev
31eab81d02 site(hephaestus.x): add /docs/ landing + upgrade to multi-column footer
/docs/ covers sign-in flow, rename, repos, PATs, container registry, API,
storage layout, self-hosting, and known gotchas — 12 sections with a
sticky TOC on the left. Any session (human or LLM) hitting hephaestus.x
now has a one-shot map of the forge.

Landing footer replaced with a four-column layout (Product / Source+spec
/ Pantheon + brand) matching the docs page, with a mono bottom bar. Topnav
gets a Docs link between How-it-works and Source.
2026-09-20 00:34:45 +02:00
Local Dev
08d1879959 site(hephaestus.x): redesign landing to Sirius design language + source section
Answers a community question ("how would one run this if it's not on GitHub?")
by putting the source repo front and centre, plus a runnable docker-compose
recipe for self-hosting.

- Palette + typography (Fraunces / DM Sans / JetBrains Mono / Ubuntu) and
  layout (topnav, radial-stack background, .card, .steps, .verify, .note)
  aligned with site-sirius-x. Adds js/theme.js (copied from sirius-x) for
  the Fraunces↔Ubuntu font toggle.
- Sticky topnav: brand, section links, Explore repos, wallet dropdown at right.
- Hero: "The forge on Bitcoin Cash" — BCH-green accent, matched serif hierarchy.
- New "See the source. Verify the deploy." section — three cards for the repo,
  auth-proxy, and PROTOCOL.md; below that a docker-compose run-your-own recipe
  with git clone + cp .env.example + docker compose up.
- Pantheon and Verify-against-the-chain sections mirror Sirius.X's structure so
  the seven .x pillars feel like one product.
- Browse repos link fixed to be absolute (https://code.silentmode.st/explore/repos)
  so it works through navigate.st gateway too, not just BCNR-aware browsers.
2026-09-10 00:38:48 +02:00
Local Dev
f4a6c85c3e feat(hephaestus.x): landing 'Sign in' becomes a Bitcoin Cash wallet dropdown
- site/hephaestus.x/index.html: replace single 'Sign in with wallet' CTA with
  a <details> dropdown labelled 'Bitcoin Cash wallet'. Menu items:
    Sign in       -> /user/oauth2/hephaestus-wallet#import
    Sign up       -> /user/oauth2/hephaestus-wallet#create   (pill: easiest)
    WizardConnect -> /user/oauth2/hephaestus-wallet#connect  (pill: most private)
  Same emoji + copy scheme as the wallet accordion, so the landing previews
  the choices the user will see after clicking through.

- Hephaestus/auth-proxy/public/wallet.js: renderTabs() now reads location.hash
  and auto-opens the matching <details> option on load (create/import/connect).
  Fragments survive Forgejo's OAuth redirect chain, so a click on 'Sign up'
  from the landing lands the user directly on the Create accordion.
2026-09-02 22:13:55 +02:00
Local Dev
58712e77da site: add favicon link to every silentmode.st HTML page
Bulk-inserts <link rel="icon" type="image/svg+xml" href="/favicon.svg"> before
the </head> tag on every silentmode.st page that was missing it. All 36 site
HTML pages now advertise the chain-links favicon; browsers show it in tabs
and bookmarks across the whole umbrella site.

Pages touched (29): apps/, choose/*, deviant/* (7 pages under the parent
house), hephaestus/, hephaestus.x/* (9 chain-published mirror pages),
nav/ (redirect stub), register.html (redirect stub), sirius/,
sirius/register.html, store/ (redirect stub), tlds/.

Already had favicon from earlier passes (7): index.html, brand/,
tools/, prometheus/, helios/, hermes/, releases/.

Line-ending preservation: choose/index.html and sirius/register.html were
originally stored with CRLF endings; the plain Python read/write path
normalized them to LF and produced a noisy diff. Both files re-serialized as
CRLF before the favicon insert to keep the diff to +1 line each.

Deploy: rsync-equivalent tar-pipe to /opt/silent-mode/site/, plus per-file scp
for the two CRLF-corrected files. Verified live: 7 spot-checked URLs each
report exactly one <link rel="icon"> in served HTML.
2026-08-31 21:43:25 +02:00
Local Dev
2ea68d14e7 fix(hephaestus.x): refresh stale references in the "where it lives" spec
Fresh-browser test surfaced two staleness bugs on the standalone landing:

- Source link pointed at silentmode/silentmode — that repo was deleted last
  turn when we split into per-project repos. Point at silentmode/hephaestus
  now (which actually holds this landing page's home + the docker-compose /
  auth-proxy / Caddyfile that serves it).
- "Let's Encrypt TLS" was true for code.silentmode.st but not for hephaestus.x
  itself, which now uses a Silent Mode CA cert from Argonautica. Reword to
  reflect the dual-hostname primary/mirror architecture and the two cert
  stories.

Also mention the DR-backup relationship — the Sia bucket now mirrors the VPS
static content nightly, not the other way around.
2026-08-31 15:59:03 +02:00
Local Dev
941851ea0e feat(hephaestus.x): per-repo detail pages under /silentmode/*
Adds live pages for each repo without leaving hephaestus.x:

  hephaestus.x/silentmode/            → index of all silentmode/* repos
  hephaestus.x/silentmode/theseus/    → README + recent commits + clone URLs
  hephaestus.x/silentmode/sirius/     → same
  hephaestus.x/silentmode/ariadne/    → same, gated ("private, sign in to browse")
  hephaestus.x/silentmode/hephaestus/ → same, gated

Single _template.html hardcoded per repo via sed; each detail page pulls
metadata + README + last 8 commits from code.silentmode.st via the
CORS-enabled Forgejo API on load, renders README with a minimal
markdown-to-HTML pass, and gracefully falls back to a "sign in to browse"
note when the API returns 401/404 (private repo).

The URL stays on hephaestus.x while browsing — user only leaves when they
click "Browse full source →" or a specific commit link.
2026-08-31 15:29:49 +02:00
Local Dev
aea58e4cfd feat(hephaestus.x): /forge lists real repos instead of auto-redirecting
Previous version was a 100ms bounce to code.silentmode.st — user never saw
hephaestus.x/forge/ content, just a flash. New version is a real catalog page:

- Fetches public repo list live from Forgejo's API on page load
- Renders each repo as a card with name, owner, description, updated date,
  clickable to code.silentmode.st/<owner>/<repo> when the user chooses
- Falls back to a "browse directly at code.silentmode.st" hint on API error
- Includes the git clone URL patterns (HTTPS-with-PAT and SSH-2222) inline

Enabled CORS on Forgejo so hephaestus.x (served from a different origin)
can hit /api/v1/repos/search — Access-Control-Allow-Origin: *, methods
GET+HEAD only, no credentials. That's the minimum for public listings and
matches how the API is meant to be used.

/forgejo/ is a byte-identical alias.
2026-08-31 12:44:03 +02:00
Local Dev
96a9ac835d feat(site): standalone hephaestus.x landing + /forge /forgejo shortcuts
hephaestus.x is its own thing — not a subpage of silentmode.st. Previously
the BCNR record redirected straight to code.silentmode.st (dropping visitors
at the login screen cold) or to /hephaestus/ on silentmode.st (which
inherited the full silentmode nav bar of unrelated products).

- New standalone landing at site/hephaestus.x/index.html — its own compact
  page, no silentmode.st chrome, just a mark + tagline + three key facts +
  "where it lives" spec table, one small "A tool from Silent Mode" footer.
- /forge/index.html and /forgejo/index.html — instant redirects to
  code.silentmode.st for users who type hephaestus.x/forge in the bar.
- BCNR record updated to {"s3":"bns/hephaestus.x/"} — navigate.st gateway
  serves the content directly from the Sia bucket (same pattern deviant.x
  uses). TXID 69686a03c66cc1f661c84c50107a8660055c629f0393c9bb6802773d3c0a7108.

Docs page at silentmode.st/hephaestus/ stays put — that one lives in the
silentmode.st family with its full nav, targeting Silent Mode visitors
exploring the whole stack. hephaestus.x/ is for direct hephaestus visitors.
2026-08-31 12:29:17 +02:00