From 43d0021bf618a99ca25f69c9a5b5ffc6bce349bf Mon Sep 17 00:00:00 2001 From: Local Dev Date: Thu, 10 Sep 2026 22:25:18 +0200 Subject: [PATCH] =?UTF-8?q?docs(theseus):=20add-on=20update=20channel=20li?= =?UTF-8?q?ves=20on=20Sia,=20not=20the=20VPS=20=E2=80=94=20publish=20with?= =?UTF-8?q?=20sia-upload?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The publishing steps pointed at scp to /opt/silent-mode/site/addons/, which never existed; the screenshot channel (and now aegis) is served from s3://bns/theseus/extensions// through navigate.st/bns/theseus.x/…. Also: sign from a git-archive copy so uncommitted edits don't ship. --- docs/ADDON-UPDATES.md | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/docs/ADDON-UPDATES.md b/docs/ADDON-UPDATES.md index 954036f..fc7e875 100644 --- a/docs/ADDON-UPDATES.md +++ b/docs/ADDON-UPDATES.md @@ -37,27 +37,34 @@ no outbound requests. ### Every update +Sign from a clean copy of the committed add-on (`git archive HEAD …`), not +the working tree, so another session's uncommitted edits don't ship: + ``` node scripts/sign-addon-update.mjs \ - bundled-addons/screenshot \ - https://addons.silentmode.st/screenshot \ - "$USERPROFILE/.silentmode/ops/addon-update-key.pem" + /bundled-addons/screenshot \ + https://navigate.st/bns/theseus.x/extensions/screenshot \ + "$USERPROFILE/.silentmode/ops/addon-update-key.pem" --out out/ ``` Produces: - `out/screenshot-.tar.gz` — upload to `/-.tar.gz` - `out/screenshot-.entry.json` — prepend to your live `updates.json` -Then: +The channel files live on Sia, under `s3://bns/theseus/extensions//`, +and are served through the public gateway as +`https://navigate.st/bns/theseus.x/extensions//…` — that is what every +bundled add-on's `updateURL` points at. Nothing is on the VPS filesystem. +Upload with the Sia uploader (single file → directory prefix, not a full +target path): ``` -scp out/screenshot-*.tar.gz silentmode:/opt/silent-mode/site/addons/screenshot/ -scp updates.json silentmode:/opt/silent-mode/site/addons/screenshot/ +node ../Argus/src/lib/sia-upload.js out/screenshot-.tar.gz bns/theseus/extensions/screenshot +node ../Argus/src/lib/sia-upload.js updates.json bns/theseus/extensions/screenshot ``` -The Sia autosync timer picks up `/opt/silent-mode/site/` on its usual -5-minute cadence, so both mirrors update together (see -`shipping-mirrors` for background). +Then confirm both URLs answer 200 through the gateway before relying on +the entry. Live channels: `screenshot` and `aegis`. ## `updates.json` schema