theseus/bundled-addons/screenshot/addon.json

21 lines
826 B
JSON
Raw Normal View History

{
"id": "screenshot",
"name": "Screenshot",
fix(theseus/screenshot): 0.2.4 — deliver capture via addon storage, not a cross-origin file:// Blank editor + broken buttons root cause: index.js was writing the capture to <userData>/addons-data/screenshot-scratch/<name>.png and passing "?src=file://<that path>" to editor.html. The editor lives at file:///<userData>/addons/screenshot/editor.html — different directory tree under file://. Chromium's file:// origin policy treats those as different origins and quietly refuses the <img> load, so init()'s loadImage() rejects, the canvas never gets an image, and every tool after that operates on a still-empty 300×150 default canvas — the tools appear to work but produce no visible output because the base image never landed. The sidebar version we replaced set `previewImg.src = dataUrl` (a base64 data URL) directly, which has no origin and just worked; the tab version regressed by adding the file hop. Fix keeps the scratch file for the recent-captures ring but hands the raw capture through the add-on's per-add-on kv store (`__pending` key). Same store, same origin scoping, no cross-directory read: index.js writes via api.storage.set from main; editor.js reads via window.silentmode.storage.get through the tab preload (packaged since 0.3.27). Fallback path retained for "openRecent" callers still passing ?src=… — those will need their own fix in a follow-up. Bumped to 0.2.4 and signed for the OTA endpoint — first real independent add-on ship: no Theseus release needed to fix this, 0.3.27 installs pick up 0.2.4 via the boot-time signed-update poll.
2026-09-08 12:57:46 +02:00
"version": "0.2.4",
"description": "Capture the current tab — visible viewport, entire scrollable page, or a rectangle you draw. Pick a mode from a toolbar dropdown; the capture opens in a full-tab editor (crop, annotate, redact, save).",
"author": "Silent Mode",
"icon": "📸",
"main": "index.js",
"capabilities": ["toolbar-menu", "capture-tab", "open-tab"],
feat(theseus/screenshot): 0.2.2 — 3 extra swatches, updateURL points at live theseus.x endpoint Bundled screenshot addon bump: - version 0.2.1 → 0.2.2 - palette grows from 5 to 8 colors: adds Orange (#ff9500), Blue (#0a84ff), Purple (#bf5af2) alongside acid/red/yellow/white/black — common annotation colors that were conspicuously missing - updateURL swings from the aspirational addons.silentmode.st (which never resolved) to the live gateway URL https://navigate.st/bns/theseus.x/extensions/screenshot/updates.json, where the operator's first signed update entry is now published The gateway URL is deliberate over the bare `theseus.x/...` form: the add-on updater runs from Node's main-process https module, which uses the OS resolver. On installs without Ariadne's Thread the OS can't resolve theseus.x (BNS-only TLD), so the poll would silently fail; the navigate.st gateway resolves via standard DNS and forwards to the same BNS-backed Sia content, so every install reaches the endpoint. First signed update is live at: https://navigate.st/bns/theseus.x/extensions/screenshot/updates.json https://navigate.st/bns/theseus.x/extensions/screenshot/screenshot-0.2.2.tar.gz signed 59a35370fdbc9d1e24834fa26c7765d27e8763fe928bfa23b202ca666a6a6973 by the ops key baked into 0.3.19. End-to-end verified via scratchpad/decoupling-test/verify-live.mjs against the live endpoint: fetch, sig-verify, download, sha-verify, extract, stage, promote, backup — all pass. Installs polling the previous updateURL (addons.silentmode.st) get this new URL only after their bundled copy is refreshed to 0.2.2, which means either a Theseus release with 0.2.2 bundled (0.3.20+) or a signed update at the old URL that carries the URL change (impossible because addons.silentmode.st doesn't resolve). Ship a Theseus release that bundles this 0.2.2 to activate the update path on existing installs; from then on the endpoint self-perpetuates via the theseus.x URL.
2026-09-08 00:22:49 +02:00
"updateURL": "https://navigate.st/bns/theseus.x/extensions/screenshot/updates.json",
"toolbar-menu": {
"title": "Screenshot",
"icon": "📸",
"items": [
{ "id": "visible", "label": "Visible viewport", "icon": "🖼️" },
{ "id": "full", "label": "Full page", "icon": "📄" },
{ "id": "region", "label": "Region…", "icon": "✂️" }
]
}
}