Error importing SVG file with invalid metadata in Sanity CLI
16 replies
Last updated: Jul 1, 2021
O
Hey all. I tried exporting a dataset and reimporting it using sanity/cli and get the following error message during import:
The file in question is an SVG file and (I assume) the importer is trying to read JPEG/PNG metadata. Maybe this has something to do with:
https://sanity-io-land.slack.com/archives/C9Z7RC3V1/p1624181782323300
This used to work without sanity/cli complaining about image metadata. Is there a solution to this? Thank you in advance.
o: Failed to upload image @ file:///private/var/folders/yy/n3wpcs896hg369pyrwjmtd8w0000gn/T/ef684c991e2f22d04628e302b9e7225d/sanity-import/production-export-2021-06-29t06-33-57-244z/images/2f2fe1cbd0563b3ce3ea79fcdf1549ed244b3993-120x40.svg: Bad Request - Invalid image, could not read metadata at onResponse (~/.nvm/versions/node/v14.16.0/lib/node_modules/@sanity/cli/bin/sanity-cli.js:4206:533) at ~/.nvm/versions/node/v14.16.0/lib/node_modules/@sanity/cli/bin/sanity-cli.js:2736:279 at ~/.nvm/versions/node/v14.16.0/lib/node_modules/@sanity/cli/bin/sanity-cli.js:2724:918 at ~/.nvm/versions/node/v14.16.0/lib/node_modules/@sanity/cli/bin/sanity-cli.js:2724:1026 at E (~/.nvm/versions/node/v14.16.0/lib/node_modules/@sanity/cli/bin/sanity-cli.js:2772:1332) at ~/.nvm/versions/node/v14.16.0/lib/node_modules/@sanity/cli/bin/sanity-cli.js:2772:2845 at s.<anonymous> (~/.nvm/versions/node/v14.16.0/lib/node_modules/@sanity/cli/bin/sanity-cli.js:1320:100) at A (~/.nvm/versions/node/v14.16.0/lib/node_modules/@sanity/cli/bin/sanity-cli.js:1338:6029)
https://sanity-io-land.slack.com/archives/C9Z7RC3V1/p1624181782323300
This used to work without sanity/cli complaining about image metadata. Is there a solution to this? Thank you in advance.
Jun 29, 2021, 6:43 AM
O
I just tried the same procedure with 2.10.0 and 2.7.4 of the sanity/cli package and it seems like the error is not sanity/cli dependent but API specific, as the error message stays the same.
Jun 29, 2021, 7:12 AM
D
i see you’re uploading an svg but does this error for other common types like jpg or png?
Jun 29, 2021, 8:09 AM
O
user G
The error happens at 4% of "uploading assets", so I assume other files go throughJun 29, 2021, 8:16 AM
O
Let me have a look at the file
Jun 29, 2021, 8:17 AM
O
Posted the SVG to
user Z
- didn't see anything wrong with the file, it opens just fine in OSX/preview. Out of all the attempts that stopped at a varying degree of completeness of the "uploading assets" stage, it always breaks with the same fileJun 29, 2021, 8:23 AM
O
WebStorm complains about an illegal attribute on an xml property but that shouldn't affect imports, unless there is advanced magic happening on your side like SVG syntax verification?
Jun 29, 2021, 8:35 AM
There is some SVG sanitization which I believe is causing this. I'm trying to figure out if there's attributes that are considered "dangerous" in here somehow.
Jun 29, 2021, 8:45 AM
O
OK. "data-name" is considered illegal by WebStorm's parser
Jun 29, 2021, 8:53 AM
O
an empty closing tag like
</>? I can't see one
Jun 29, 2021, 9:08 AM
O
or this:
<g
*id*="_Group_" *data-name*="<Group>"*>*
Jun 29, 2021, 9:09 AM
O
To be honest, I just grabbed that SVG and uploaded it 2 years ago when there was no sanitiser in place I think, hehe
Jun 29, 2021, 9:09 AM
The latter. And yeah, the sanitizer is a new addition to the pipeline, to prevent XSS and such. We're still trying to balance it in terms of how eager it is 😉
Jun 29, 2021, 9:38 AM
user B
We've deployed some changes that should make this go through now - can you verify?Jun 29, 2021, 2:24 PM
O
user Z
Seems to do the trick. Thanks for looking into this!Jul 1, 2021, 5:50 AM
Sanity– build remarkable experiences at scale
Sanity is a modern headless CMS that treats content as data to power your digital business. Free to get started, and pay-as-you-go on all plans.