Setup b751b5deea997bb7e0e894104dcb7411358728987196cb610f316edacaf9be54 Portable 8a258f29c62a03b745e93ea0265285e6d5df38d4f25cdbdadc20b4d2a54b97d7 Five theseus fixes since 0.3.16: e90062a - Bundled add-on updates now actually land. seedBundledAddons() previously copied a bundled add-on only when its target folder was missing, so the 0.3.14 screenshot editor never reached machines that already had an older screenshot/ folder from a previous run — Theseus quietly kept using the stale copy. The seeder now compares bundled and on-disk addon.json versions and reseeds with a timestamped backup under <userData>/addons-backups/<id>-<oldver>-<timestamp>/. ecfd481 + 6117429 - Signed add-on update endpoint, à la Firefox XPI. An add-on can now advertise an updateURL in its addon.json and be republished at any time without waiting for a Theseus release. The client fetches, verifies an Ed25519 signature over "silentmode.addon-update-v1|<id>|<version>|<tarball-sha256>", downloads the tarball, verifies the hash, and stages the new copy under <userData>/addons-updates-staged/ for promotion on next launch. Dormant in this build — the shipped addon-update-pubkeys.js is empty, so checkAndStageUpdates() short-circuits and makes no outbound requests; the feature activates when an operator ceremonies a key in and ships a follow-up release with the pubkey baked in. Operator tooling in scripts/generate-update-keypair.mjs and scripts/sign-addon-update.mjs; full brief in docs/ADDON-UPDATES.md. End-to-end verified against a local HTTP server: sign, serve, fetch, verify, download, extract, stage, promote, backup — plus signature tamper, wrong pubkey, sha256 tamper, and empty-pubkey short-circuit all rejected as expected. 15/15 checks pass. bfe5132 - Tab-switch flash is gone. Two independent causes: (a) tab views were created without an explicit background color, so the first frame after setVisible(true) showed whatever was underneath the view until the page painted; a solid theme-tracking ground fills the gap. (b) setActive iterated tabs in list order, so if the outgoing tab came before the incoming in the array, the loop hid the outgoing first and left one frame where no tab was visible; the incoming is now shown before any hides. a5a667d - Screenshot toolbar-menu captures no longer come out blank. The click handler dispatched capture synchronously while the native Menu.popup window was still on top, marking the tab view occluded and letting WebContents.capturePage() snapshot a stale/empty compositor frame at the correct dimensions (which the existing 0x0 retry couldn't detect). Dispatch now runs from the popup's close callback after a 120ms settle so the parent window is foreground and the compositor is live at capture time. a5a667d also - Ariadne — Install / Update / Uninstall alongside Turn on / off. The Ariadne toggle card in Settings > Registries grows three lifecycle actions. Install and Update run the bundled AriadneResolver-Setup-<ver>.exe silently and elevated (/VERYSILENT /SUPPRESSMSGBOXES /NORESTART — one UAC prompt, no wizard); Update is only visible when the bundled version is newer than what's installed. Uninstall reads Inno's QuietUninstallString from HKLM registry and runs it elevated. Status surfaces installed version + bundled version so the user can see what's on disk vs what would land next; buttons disable during work and refresh after both success and failure so the UI never lies. Deployed. Verified LIVE 0.3.18.
50 lines
3.9 KiB
JSON
50 lines
3.9 KiB
JSON
{
|
|
"schema": "silentmode-releases/2",
|
|
"updated": "2026-09-06",
|
|
"mirrors": [
|
|
"https://dl.silentmode.st/"
|
|
],
|
|
"releases": [
|
|
{
|
|
"id": "ariadne-resolver",
|
|
"product": "Ariadne Resolver (Windows)",
|
|
"version": "0.1.0",
|
|
"date": "2026-08-01",
|
|
"platform": "win-x64",
|
|
"signed": false,
|
|
"signingAuthority": null,
|
|
"files": {
|
|
"AriadneResolver-Setup-0.1.0.exe": "9ab725bec5567625e5857a49b112c4fbc0f59dbdd623abd7110429306f5d0ddb"
|
|
}
|
|
},
|
|
{
|
|
"id": "ariadne-android",
|
|
"product": "Ariadne for Android",
|
|
"version": "0.11",
|
|
"date": "2026-08-30",
|
|
"platform": "android",
|
|
"minSdk": 21,
|
|
"signed": true,
|
|
"signingAuthority": null,
|
|
"signingCertSha256": "46ebbbe5dc73148d66410fd0337b1e6683472128c983e8e2578200b9e3ca548c",
|
|
"changes": "Adds a Sia-mirror pull path alongside the APK-bundled starter (0.10). On boot the app fires a background HTTP GET for dl.silentmode.st/bns-name-index.json — the operator's latest published BNS snapshot in the interpreted-index format Bns.saveDisk reads. On any subsequent cold start after a release, the browser converges on the current chain state with one HTTP call instead of a full electrum walk. Multi-source: bundled + CDN + on-device electrum + optional Argus indexer, all racing in parallel; whichever gives a fresh answer first wins.",
|
|
"files": {
|
|
"ariadne-v0.11.apk": "03c95832c16cc4763acaadbf328caa7d4bd05fc7c2994f6997a79cc6890bca44"
|
|
}
|
|
},
|
|
{
|
|
"id": "theseus-navigator",
|
|
"product": "Theseus Navigator",
|
|
"version": "0.3.18",
|
|
"date": "2026-09-07",
|
|
"platform": "win-x64",
|
|
"signed": false,
|
|
"signingAuthority": null,
|
|
"changes": "Five theseus fixes since 0.3.16. (1) Bundled add-on updates now actually land: seedBundledAddons() previously copied a bundled add-on only when its target folder was missing, so the 0.3.14 screenshot editor never reached machines that already had an older screenshot/ folder from a previous run. It now compares bundled and on-disk addon.json versions and reseeds with a timestamped backup under <userData>/addons-backups/. (2) Signed add-on update endpoint: an add-on can advertise an updateURL and be republished at any time without waiting for a Theseus release. The client fetches, verifies an Ed25519 signature over id|version|sha256, downloads the tarball, and stages the new copy under <userData>/addons-updates-staged/ for promotion on next launch. Dormant in this build (no operator pubkey ceremonied in yet) but the mechanism ships ready. (3) Tab-switch flash gone: switching tabs (and opening Settings) no longer flashes a bare compositor frame — tab views now carry an explicit theme-tracking background color, and setActive shows the incoming tab before hiding the outgoing so at least one view is always up. (4) Screenshot toolbar-menu captures no longer come out blank: the click handler was dispatching capture synchronously while the native menu popup was still on top, marking the tab view occluded and letting capturePage snapshot a stale/empty compositor frame. It now dispatches from the popup's close callback after a short settling delay, so the parent window is foreground and the compositor is live at capture time. (5) Ariadne — Install / Update / Uninstall alongside Turn on / off: the Ariadne toggle card in Settings > Registries grows three lifecycle actions. Install and Update run the bundled AriadneResolver installer silently elevated (one UAC prompt, no wizard); Uninstall reads Inno's registered uninstaller and runs it elevated. Install/Update visibility tracks the installed vs bundled version so the user sees what's on disk and what would land next.",
|
|
"files": {
|
|
"TheseusNavigator-Setup-0.3.18.exe": "b751b5deea997bb7e0e894104dcb7411358728987196cb610f316edacaf9be54",
|
|
"TheseusNavigator-0.3.18-portable.exe": "8a258f29c62a03b745e93ea0265285e6d5df38d4f25cdbdadc20b4d2a54b97d7"
|
|
}
|
|
}
|
|
]
|
|
}
|