Since 27.9.1, ImageBlob → createObjectURL → <img> misdecodes every documented format. Verified with the attached minimal repro plugin: correct on 26.11.2, broken on 27.9.1 and 27.10.0, same machine (screenshots attached).
-
Gray (1), GrayscaleAlpha (2), RGB (3): silently scrambled, no exception thrown. The decoder appears to read at a 4-byte stride, so it also reads past the end of the buffer and renders stale process memory (output changes on every redraw). The docs’ own example, a 3-component buffer of
[255,0,0]triplets, does not render red. -
RGBA (4): channels rotated
the decoder consumes bytes as literal A,R,G,B. Writing the same pixels with alpha first renders the true image (repro row 6). Bytes
B,G,R,A(a little-endian0xAARRGGBBword) do not render correctly (row 7), so it’s a byte-order change, not an endian swap.
The repro is self-contained (no build step, load via UDT), renders one known pattern through each format on both panel and modal-dialog surfaces, and prints expected results per row. Timing lines up with the new UI backend rollout, ImageBlob hands raw buffers to exactly that layer.
uxp-imageblob-repro.zip (206.6 KB)
