imageedit
Crop / annotate / redact image editor, and the proof that the pdf plugin's bytes-over-the-bridge design generalizes: the frame has connect-src 'none' and receives the image as an ArrayBuffer over postMessage, the canonical doc is an OPERATION LIST (imageedit-v1: src, crop, rotate, annotations[], redactions[] in image coordinates — never pixels), and every export is re-rendered by Go from that list using only the standard library. EXIF is stripped by full re-encode, 16 MiB / 24 MP / 8192px caps are enforced at the header stage before decode, and redactions are verified against the produced bytes — a region must be gone, not painted over, or the export fails closed.
Install and mount
go get github.com/DonaldMurillo/gofastr-plugins@v0.5.0
import "github.com/DonaldMurillo/gofastr-plugins/imageedit"
app.RegisterPlugin(imageedit.New())Isolation
Runs in an opaque-origin iframe
Manifest
- Plugin version
- 0.1.0
- Framework compat
- >=0.28.0
- Isolation
- sandbox-iframe-opaque
- Sandbox tokens
- allow-scripts
- Capabilities
- document:read, document:write, theme:read
- Optional capabilities
- upload:images
- CSP additions
- none
- Route prefix
/__gofastr/plugin/imageedit- Entry
/__gofastr/plugin/imageedit/editor.html- Schema
- imageedit-v1
- Min height
- 520px