Bound clipboard payloads and image parsing
The capture daemon read the whole clipboard payload into memory and handed it to Pillow, zbarimg and tesseract with no limit. Payloads now stream through a capped reader (32 MiB images, 4 MiB text, 5 s deadline) and are dropped when exceeded; image dimensions come from the container header without decoding, and QR/OCR only run under 40 megapixels. The OCR backfill script applies the same pixel guard. Limits are overridable via CLIPBOARD_MAX_IMAGE_BYTES, CLIPBOARD_MAX_TEXT_BYTES, CLIPBOARD_MAX_PARSE_PIXELS.
This commit is contained in:
@@ -69,6 +69,13 @@ window). Optional: `zbar` (QR decoding) and `tesseract` (OCR search) — without
|
||||
them the picker still works and shows the `omarchy pkg add …` command to add them.
|
||||
No sudo or pkexec is required by the plugin itself.
|
||||
|
||||
The clipboard owner is treated as untrusted. Payloads are streamed through a
|
||||
capped reader and dropped when they exceed 32 MiB (images) or 4 MiB (text), or
|
||||
take longer than 5 s to deliver; QR decoding and OCR only run on images under
|
||||
40 megapixels, as read from the file header without decoding. Override with
|
||||
`CLIPBOARD_MAX_IMAGE_BYTES`, `CLIPBOARD_MAX_TEXT_BYTES`, and
|
||||
`CLIPBOARD_MAX_PARSE_PIXELS` in the shell's environment.
|
||||
|
||||
Omarchy's default `Super+Ctrl+V` routes to it via the clone mechanism. An
|
||||
existing `Super+Shift+V` binding targeting `omarchy.clipboard` routes to it too.
|
||||
For a custom binding, edit the **live** config —
|
||||
|
||||
Reference in New Issue
Block a user