1

Boa, Florian, você tem razão. Eu só tinha testado o toBlob do Chrome, que sempre começa com SOI + APP0 JFIF. Se o codificador colocar APP1 (EXIF) antes, ou não gravar APP0, a função não mexia em nada e o arquivo saía sem a densidade.

Corrigi do jeito que você sugeriu: quando a assinatura JFIF não está nos bytes 2–10, a função insere um APP0 JFIF de 18 bytes logo depois do SOI, com units = 1 e 300 dpi, e preserva o resto do arquivo (EXIF incluído). Adicionei um teste para esse caso e já está no ar, e também no repositório: https://github.com/MMMystery/foto-documento-specs/commit/e8623fc

Valeu pela revisão!

Carregando publicação patrocinada...