theseus/bundled-addons/screenshot/addon.json

21 lines
826 B
JSON
Raw Normal View History

{
"id": "screenshot",
"name": "Screenshot",
feat(theseus/addons): CDP capture + editor Discard + manual update controls Three tied-together fixes: 1) captureTab moves from WebContents.capturePage() to CDP Page.captureScreenshot for every mode (visible / full / region). Blank-screenshot symptom: after a toolbar-menu selection, the OS popup teardown left the tab view marked occluded for a few frames on some Windows setups, so capturePage() snapshotted a stale/transparent frame at the correct dimensions — no 0x0, no retry hit. CDP forces a fresh composite regardless of occlusion state (same path the "Full page" mode was already using) and returns a base64 PNG directly; PNG dimensions come out of the IHDR chunk (bytes 16-24). Attach only when nothing else has, and detach after only if WE attached, so an open DevTools stays attached. 2) Editor gets a Discard button. Toolbar picks up an "×" glyph next to Save/Copy that closes the editor tab and drops the working screenshot. Top-level Escape now falls through the same path after unwinding an in-flight text placement or crop rectangle. A new "addon-tab-close" IPC lets an add-on's own tab close itself (main matches the sender's webContents id against the tab list, so a page can only close its own tab); window.silentmode.closeTab() exposes it from addon-tab-preload.js. 3) Manual update controls in Settings > Extensions. New "Check for updates" button at the top of the Extensions surface calls the same signed-update polling the boot timer runs; the result is surfaced inline ("All extensions are up to date" / "N updates staged; restart Theseus to apply"). A "Pending updates" box below lists what's in <userData>/addons-updates-staged/ so the user knows what will be promoted on next restart. Toolbar-menu popup settle bumped from 120 ms to 250 ms with an explicit win.focus() in the popup close callback — the previous window wasn't enough on slower Windows setups. CDP capture no longer depends on this delay anyway, but the settle still helps any add-on that does DOM work in its click handler before capture. Screenshot add-on bumped 0.2.2 → 0.2.3 (Discard button; capture fixes come from the host, not the add-on).
2026-09-08 02:27:36 +02:00
"version": "0.2.3",
"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": "✂️" }
]
}
}