Expand my Community achievements bar.

SOLVED

Uploading "plugin file" is not working

Avatar

Level 2

I have been trying to upload a new update for an Adobe XD plugin, for the last two days.
When it gets to the part where you add "plugin file," after adding the file, the progress wheel next to the file turns and turns, and nothing happens.
I tried with multiple machines on different connections; the outcome is the same.

 

 

Screen Shot 2021-04-23 at 12.00.42 PM.png

Topics

Topics help categorize Community content and increase your ability to discover relevant content.

1 Accepted Solution

Avatar

Correct answer by
Employee

Quick update: we believe that something is incorrect in your manifest file and that's causing the upload to fail. Related to this, we'll be making an update on our end to show why the upload actually fails as opposed to just spinning.

@Ali_P & @thx1138 please make sure that you are using the manifest version that is part of the starter pack on the Dev Console. If you are comfortable, please send me your manifest via DM and engineering can check what needs to change

View solution in original post

20 Replies

Avatar

Employee

In order to investigate, please provide the following via DM:

  • Plugin ID
  • Specify if new plugin submission or new version
  • Exact Org Name (top right corner)
  • URL to the project
  • Error received 

Avatar

Level 2
I was going to send you this info in a private message, but it says, "You have reached the limit for number of private messages that you can send for now. Please try again later." Any way I can email you this info or send you a private message here, so the information is not shared publicly? Thank you!

Avatar

Level 2
I am getting same error as Ali "You have reached the limit for number of private messages that you can send for now. Please try again later."

Avatar

Level 2

There are two errors in the console: 

 

When the page loads there is an immediate error below: 

 

main.min.js:1 unrecognized domain. Please email marketingtech@adobe.com.

W @ main.min.js:1

src.b5c95250.js:sourcemap:2426 Fetch finished loading: POST "https://console.adobe.io/graphql".

(anonymous) @ src.b5c95250.js:sourcemap:2426

t @ src.b5c95250.js:sourcemap:2339

value @ src.b5c95250.js:sourcemap:2339

(anonymous) @ src.b5c95250.js:sourcemap:3669

Promise.then (async)

(anonymous) @ src.b5c95250.js:sourcemap:3669

t @ src.b5c95250.js:sourcemap:2339

value @ src.b5c95250.js:sourcemap:2339

(anonymous) @ src.b5c95250.js:sourcemap:2385

t @ src.b5c95250.js:sourcemap:2339

value @ src.b5c95250.js:sourcemap:2339

(anonymous) @ src.b5c95250.js:sourcemap:2352

t @ src.b5c95250.js:sourcemap:2339

value @ src.b5c95250.js:sourcemap:2339

n.getObservableFromLink @ src.b5c95250.js:sourcemap:2352

(anonymous) @ src.b5c95250.js:sourcemap:2352

n.fetchRequest @ src.b5c95250.js:sourcemap:2352

(anonymous) @ src.b5c95250.js:sourcemap:2352

(anonymous) @ src.b5c95250.js:sourcemap:2323

(anonymous) @ src.b5c95250.js:sourcemap:2323

(anonymous) @ src.b5c95250.js:sourcemap:2323

u @ src.b5c95250.js:sourcemap:2323

n.fetchQuery @ src.b5c95250.js:sourcemap:2352

n.observeQuery @ src.b5c95250.js:sourcemap:2352

n.setUpQuery @ src.b5c95250.js:sourcemap:2352

n.onSubscribe @ src.b5c95250.js:sourcemap:2352

(anonymous) @ src.b5c95250.js:sourcemap:2352

t @ src.b5c95250.js:sourcemap:2339

value @ src.b5c95250.js:sourcemap:2339

(anonymous) @ PluginSubmitController.js:617

f @ src.b5c95250.js:sourcemap:2599

(anonymous) @ src.b5c95250.js:sourcemap:2599

(anonymous) @ src.b5c95250.js:sourcemap:2599

ie @ PluginSubmitController.js:87

o @ PluginSubmitController.js:87

Promise.then (async)

ie @ PluginSubmitController.js:87

o @ PluginSubmitController.js:87

src.b5c95250.js:sourcemap:2426 Fetch finished loading: POST "https://console.adobe.io/graphql".

(anonymous) @ src.b5c95250.js:sourcemap:2426

t @ src.b5c95250.js:sourcemap:2339

value @ src.b5c95250.js:sourcemap:2339

(anonymous) @ src.b5c95250.js:sourcemap:3669

Promise.then (async)

(anonymous) @ src.b5c95250.js:sourcemap:3669

t @ src.b5c95250.js:sourcemap:2339

value @ src.b5c95250.js:sourcemap:2339

(anonymous) @ src.b5c95250.js:sourcemap:2385

t @ src.b5c95250.js:sourcemap:2339

value @ src.b5c95250.js:sourcemap:2339

(anonymous) @ src.b5c95250.js:sourcemap:2352

t @ src.b5c95250.js:sourcemap:2339

value @ src.b5c95250.js:sourcemap:2339

n.getObservableFromLink @ src.b5c95250.js:sourcemap:2352

(anonymous) @ src.b5c95250.js:sourcemap:2352

n.fetchRequest @ src.b5c95250.js:sourcemap:2352

(anonymous) @ src.b5c95250.js:sourcemap:2352

(anonymous) @ src.b5c95250.js:sourcemap:2323

(anonymous) @ src.b5c95250.js:sourcemap:2323

(anonymous) @ src.b5c95250.js:sourcemap:2323

u @ src.b5c95250.js:sourcemap:2323

n.fetchQuery @ src.b5c95250.js:sourcemap:2352

u @ src.b5c95250.js:sourcemap:2352

setTimeout (async)

c @ src.b5c95250.js:sourcemap:2352

n.startPollingQuery @ src.b5c95250.js:sourcemap:2352

n.setUpQuery @ src.b5c95250.js:sourcemap:2352

n.onSubscribe @ src.b5c95250.js:sourcemap:2352

(anonymous) @ src.b5c95250.js:sourcemap:2352

t @ src.b5c95250.js:sourcemap:2339

value @ src.b5c95250.js:sourcemap:2339

(anonymous) @ PluginSubmitController.js:617

f @ src.b5c95250.js:sourcemap:2599

(anonymous) @ src.b5c95250.js:sourcemap:2599

(anonymous) @ src.b5c95250.js:sourcemap:2599

ie @ PluginSubmitController.js:87

o @ PluginSubmitController.js:87

Promise.then (async)

ie @ PluginSubmitController.js:87

o @ PluginSubmitController.js:87

src.b5c95250.js:sourcemap:2426 Fetch finished loading: POST "https://console.adobe.io/graphql".

(anonymous) @ src.b5c95250.js:sourcemap:2426

t @ src.b5c95250.js:sourcemap:2339

value @ src.b5c95250.js:sourcemap:2339

(anonymous) @ src.b5c95250.js:sourcemap:3669

Promise.then (async)

(anonymous) @ src.b5c95250.js:sourcemap:3669

t @ src.b5c95250.js:sourcemap:2339

value @ src.b5c95250.js:sourcemap:2339

(anonymous) @ src.b5c95250.js:sourcemap:2385

t @ src.b5c95250.js:sourcemap:2339

value @ src.b5c95250.js:sourcemap:2339

(anonymous) @ src.b5c95250.js:sourcemap:2352

t @ src.b5c95250.js:sourcemap:2339

value @ src.b5c95250.js:sourcemap:2339

n.getObservableFromLink @ src.b5c95250.js:sourcemap:2352

(anonymous) @ src.b5c95250.js:sourcemap:2352

n.fetchRequest @ src.b5c95250.js:sourcemap:2352

(anonymous) @ src.b5c95250.js:sourcemap:2352

(anonymous) @ src.b5c95250.js:sourcemap:2323

(anonymous) @ src.b5c95250.js:sourcemap:2323

(anonymous) @ src.b5c95250.js:sourcemap:2323

u @ src.b5c95250.js:sourcemap:2323

n.fetchQuery @ src.b5c95250.js:sourcemap:2352

u @ src.b5c95250.js:sourcemap:2352

setTimeout (async)

c @ src.b5c95250.js:sourcemap:2352

Promise.then (async)

u @ src.b5c95250.js:sourcemap:2352

setTimeout (async)

c @ src.b5c95250.js:sourcemap:2352

n.startPollingQuery @ src.b5c95250.js:sourcemap:2352

n.setUpQuery @ src.b5c95250.js:sourcemap:2352

n.onSubscribe @ src.b5c95250.js:sourcemap:2352

(anonymous) @ src.b5c95250.js:sourcemap:2352

t @ src.b5c95250.js:sourcemap:2339

value @ src.b5c95250.js:sourcemap:2339

(anonymous) @ PluginSubmitController.js:617

f @ src.b5c95250.js:sourcemap:2599

(anonymous) @ src.b5c95250.js:sourcemap:2599

(anonymous) @ src.b5c95250.js:sourcemap:2599

ie @ PluginSubmitController.js:87

o @ PluginSubmitController.js:87

Promise.then (async)

ie @ PluginSubmitController.js:87

o @ PluginSubmitController.js:87

src.b5c95250.js:sourcemap:2426 Fetch finished loading: POST "https://console.adobe.io/graphql".

(anonymous) @ src.b5c95250.js:sourcemap:2426

t @ src.b5c95250.js:sourcemap:2339

value @ src.b5c95250.js:sourcemap:2339

(anonymous) @ src.b5c95250.js:sourcemap:3669

Promise.then (async)

(anonymous) @ src.b5c95250.js:sourcemap:3669

t @ src.b5c95250.js:sourcemap:2339

value @ src.b5c95250.js:sourcemap:2339

(anonymous) @ src.b5c95250.js:sourcemap:2385

t @ src.b5c95250.js:sourcemap:2339

value @ src.b5c95250.js:sourcemap:2339

(anonymous) @ src.b5c95250.js:sourcemap:2352

t @ src.b5c95250.js:sourcemap:2339

value @ src.b5c95250.js:sourcemap:2339

n.getObservableFromLink @ src.b5c95250.js:sourcemap:2352

(anonymous) @ src.b5c95250.js:sourcemap:2352

n.fetchRequest @ src.b5c95250.js:sourcemap:2352

(anonymous) @ src.b5c95250.js:sourcemap:2352

(anonymous) @ src.b5c95250.js:sourcemap:2323

(anonymous) @ src.b5c95250.js:sourcemap:2323

(anonymous) @ src.b5c95250.js:sourcemap:2323

u @ src.b5c95250.js:sourcemap:2323

n.fetchQuery @ src.b5c95250.js:sourcemap:2352

u @ src.b5c95250.js:sourcemap:2352

setTimeout (async)

c @ src.b5c95250.js:sourcemap:2352

Promise.then (async)

u @ src.b5c95250.js:sourcemap:2352

setTimeout (async)

c @ src.b5c95250.js:sourcemap:2352

Promise.then (async)

u @ src.b5c95250.js:sourcemap:2352

setTimeout (async)

c @ src.b5c95250.js:sourcemap:2352

n.startPollingQuery @ src.b5c95250.js:sourcemap:2352

n.setUpQuery @ src.b5c95250.js:sourcemap:2352

n.onSubscribe @ src.b5c95250.js:sourcemap:2352

(anonymous) @ src.b5c95250.js:sourcemap:2352

t @ src.b5c95250.js:sourcemap:2339

value @ src.b5c95250.js:sourcemap:2339

(anonymous) @ PluginSubmitController.js:617

f @ src.b5c95250.js:sourcemap:2599

(anonymous) @ src.b5c95250.js:sourcemap:2599

(anonymous) @ src.b5c95250.js:sourcemap:2599

ie @ PluginSubmitController.js:87

o @ PluginSubmitController.js:87

Promise.then (async)

ie @ PluginSubmitController.js:87

o @ PluginSubmitController.js:87

 

 

When I add the plugin file to the page then I get the next error message

 

 

src.b5c95250.js:sourcemap:2339 Uncaught TypeError: a.lowerCase is not a function
at r (utils.js:53)
at Object.next (PluginSubmitController.js:630)
at d (src.b5c95250.js:sourcemap:2339)
at w (src.b5c95250.js:sourcemap:2339)
at t.value (src.b5c95250.js:sourcemap:2339)
at src.b5c95250.js:sourcemap:2352
at Array.forEach (<anonymous>)
at g (src.b5c95250.js:sourcemap:2352)
at Object.next (src.b5c95250.js:sourcemap:2352)
at n (src.b5c95250.js:sourcemap:2352)
r @ utils.js:53
next @ PluginSubmitController.js:630
d @ src.b5c95250.js:sourcemap:2339
w @ src.b5c95250.js:sourcemap:2339
value @ src.b5c95250.js:sourcemap:2339
(anonymous) @ src.b5c95250.js:sourcemap:2352
g @ src.b5c95250.js:sourcemap:2352
next @ src.b5c95250.js:sourcemap:2352
n @ src.b5c95250.js:sourcemap:2352
(anonymous) @ src.b5c95250.js:sourcemap:2352
(anonymous) @ src.b5c95250.js:sourcemap:2352
(anonymous) @ src.b5c95250.js:sourcemap:2352
n.broadcastQueries @ src.b5c95250.js:sourcemap:2352
(anonymous) @ src.b5c95250.js:sourcemap:2352
next @ src.b5c95250.js:sourcemap:2339
d @ src.b5c95250.js:sourcemap:2339
w @ src.b5c95250.js:sourcemap:2339
value @ src.b5c95250.js:sourcemap:2339
(anonymous) @ src.b5c95250.js:sourcemap:2352
next @ src.b5c95250.js:sourcemap:2352
d @ src.b5c95250.js:sourcemap:2339
w @ src.b5c95250.js:sourcemap:2339
value @ src.b5c95250.js:sourcemap:2339
next @ src.b5c95250.js:sourcemap:2385
d @ src.b5c95250.js:sourcemap:2339
w @ src.b5c95250.js:sourcemap:2339
value @ src.b5c95250.js:sourcemap:2339
d @ src.b5c95250.js:sourcemap:2339
w @ src.b5c95250.js:sourcemap:2339
value @ src.b5c95250.js:sourcemap:2339
(anonymous) @ src.b5c95250.js:sourcemap:2426
setTimeout (async)
v @ src.b5c95250.js:sourcemap:2339
d @ src.b5c95250.js:sourcemap:2339
w @ src.b5c95250.js:sourcemap:2339
value @ src.b5c95250.js:sourcemap:2339
(anonymous) @ src.b5c95250.js:sourcemap:2352
g @ src.b5c95250.js:sourcemap:2352
next @ src.b5c95250.js:sourcemap:2352
n @ src.b5c95250.js:sourcemap:2352
(anonymous) @ src.b5c95250.js:sourcemap:2352
(anonymous) @ src.b5c95250.js:sourcemap:2352
(anonymous) @ src.b5c95250.js:sourcemap:2352
n.broadcastQueries @ src.b5c95250.js:sourcemap:2352
(anonymous) @ src.b5c95250.js:sourcemap:2352
next @ src.b5c95250.js:sourcemap:2339
d @ src.b5c95250.js:sourcemap:2339
w @ src.b5c95250.js:sourcemap:2339
value @ src.b5c95250.js:sourcemap:2339
(anonymous) @ src.b5c95250.js:sourcemap:2352
next @ src.b5c95250.js:sourcemap:2352
d @ src.b5c95250.js:sourcemap:2339
w @ src.b5c95250.js:sourcemap:2339
value @ src.b5c95250.js:sourcemap:2339
next @ src.b5c95250.js:sourcemap:2385
d @ src.b5c95250.js:sourcemap:2339
w @ src.b5c95250.js:sourcemap:2339
value @ src.b5c95250.js:sourcemap:2339
d @ src.b5c95250.js:sourcemap:2339
w @ src.b5c95250.js:sourcemap:2339
value @ src.b5c95250.js:sourcemap:2339
(anonymous) @ src.b5c95250.js:sourcemap:2426
Promise.then (async)
(anonymous) @ src.b5c95250.js:sourcemap:2426
t @ src.b5c95250.js:sourcemap:2339
value @ src.b5c95250.js:sourcemap:2339
(anonymous) @ src.b5c95250.js:sourcemap:3669
Promise.then (async)
(anonymous) @ src.b5c95250.js:sourcemap:3669
t @ src.b5c95250.js:sourcemap:2339
value @ src.b5c95250.js:sourcemap:2339
(anonymous) @ src.b5c95250.js:sourcemap:2385
t @ src.b5c95250.js:sourcemap:2339
value @ src.b5c95250.js:sourcemap:2339
(anonymous) @ src.b5c95250.js:sourcemap:2352
t @ src.b5c95250.js:sourcemap:2339
value @ src.b5c95250.js:sourcemap:2339
n.getObservableFromLink @ src.b5c95250.js:sourcemap:2352
(anonymous) @ src.b5c95250.js:sourcemap:2352
n.fetchRequest @ src.b5c95250.js:sourcemap:2352
(anonymous) @ src.b5c95250.js:sourcemap:2352
(anonymous) @ src.b5c95250.js:sourcemap:2323
(anonymous) @ src.b5c95250.js:sourcemap:2323
(anonymous) @ src.b5c95250.js:sourcemap:2323
u @ src.b5c95250.js:sourcemap:2323
n.fetchQuery @ src.b5c95250.js:sourcemap:2352
u @ src.b5c95250.js:sourcemap:2352
setTimeout (async)
c @ src.b5c95250.js:sourcemap:2352
Promise.then (async)
u @ src.b5c95250.js:sourcemap:2352
setTimeout (async)
c @ src.b5c95250.js:sourcemap:2352
Promise.then (async)
u @ src.b5c95250.js:sourcemap:2352
setTimeout (async)
c @ src.b5c95250.js:sourcemap:2352
Promise.then (async)
u @ src.b5c95250.js:sourcemap:2352
setTimeout (async)
c @ src.b5c95250.js:sourcemap:2352
n.startPollingQuery @ src.b5c95250.js:sourcemap:2352
n.setUpQuery @ src.b5c95250.js:sourcemap:2352
n.onSubscribe @ src.b5c95250.js:sourcemap:2352
(anonymous) @ src.b5c95250.js:sourcemap:2352
t @ src.b5c95250.js:sourcemap:2339
value @ src.b5c95250.js:sourcemap:2339
(anonymous) @ PluginSubmitController.js:617
f @ src.b5c95250.js:sourcemap:2599
(anonymous) @ src.b5c95250.js:sourcemap:2599
(anonymous) @ src.b5c95250.js:sourcemap:2599
ie @ PluginSubmitController.js:87
o @ PluginSubmitController.js:87
Promise.then (async)
ie @ PluginSubmitController.js:87
o @ PluginSubmitController.js:87
imslib.min.js:16 XHR finished loading: POST "https://ims-na1.adobelogin.com/ims/validate_token/v1?jslVersion=v2-v0.15.0-9-g5d51349".
(anonymous) @ imslib.min.js:16
e.http @ imslib.min.js:16
e.post @ imslib.min.js:16
e.post @ imslib.min.js:16
e.validateToken @ imslib.min.js:16
e.callValidateTokenApi @ imslib.min.js:16
e.validateToken @ imslib.min.js:16
e.validateToken @ imslib.min.js:16
(anonymous) @ src.b5c95250.js:sourcemap:615

 

Following that error to the source in the browser tools it says: 

 

EXTENSION_ID: `${
errorMessage.toLowerCase() === 'not matched'
? `Plugin ID in your manifest file does not match this Project's Plugin ID on the Adobe Developer Console`
: `Plugin id: ${errorMessage.lowerCase()}`

 

I think it should be `errorMessage.toLowerCase` not `errorMessage.lowerCase`. 

 

And it may be trying to say the error is that the plugin id in the manifest does not match the plugin id in the developer console. However for my project the id in the manifest has not changed. 

Avatar

Level 2

Attempted to send a DM again with shorter message and it gave the error again, "You have reached the limit for number of private messages that you can send for now. Please try again later." 

 

In some forums there are messaging permissions for users that if you try to submit a message too quickly it prevents you from sending any messages. 

 

BTW I've been a member for 19 years (since 2002). Can you see if you can bump me up from Level 1?

Avatar

Correct answer by
Employee

Quick update: we believe that something is incorrect in your manifest file and that's causing the upload to fail. Related to this, we'll be making an update on our end to show why the upload actually fails as opposed to just spinning.

@Ali_P & @thx1138 please make sure that you are using the manifest version that is part of the starter pack on the Dev Console. If you are comfortable, please send me your manifest via DM and engineering can check what needs to change

Avatar

Level 2
You are right. Even though I changed the manifest.json a few times, it didn't make any difference, but for whatever reason, it did go through when I made a few other changes today. I have successfully submitted the plugin update. Thank you!

Avatar

Level 2

I am still having issues. The only difference I see in my manifest from the starter project is that I have nested menu items and I have main property value defined. 

Avatar

Level 2

I'll keep checking for the changes. As of today I'm still having issues. If you don't mind could you update this thread when the IO console has been updated?

Avatar

Employee
@thx1138 we just deployed a change that will provide better error messages during upload issues. hopefully that will provide some details on why the upload is failing

Avatar

Level 2
Hi great. I just tried it and it does give a message: "Plugin file your_plugin.xdx Plugin file has failed extraction. Please see our packaging documentation for details"

Avatar

Level 2

Hi great. I just tried it and it does give a message now. This is much better.

 

The message:

 

Plugin file your_plugin.xdx Plugin file has failed extraction. Please see our packaging documentation for details.

 

I'm a bit stuck because I've read through the documentation. 

 

Can you expand on what I might be missing?

Can I send you my xdx?

Can you add a link to the "packaging documentation" and "manifest documentation"? 

 

I think the only thing I've changed in the manifest is the version number. 

Avatar

Level 2
@thx1138 Try with a fresh Manifest and import your info one by one; check each one to make sure you do not have some weird character in it. Try to stay away from the eerie ASCII characters. I would replace the title and description with a simple text, like a one-word "test," then upload and test to see when it goes through and find which one is causing the issue. I know you might have to keep doing it till the cows come home, but this is the best we've got.

Avatar

Level 2

I think I got it figured out.

 

I have a root folder (alongside my main.js and others) called "addons" and in that folder is a blank file called "tagnames.txt".

 

When I compress the project into an xdx and include that folder it breaks. If I exclude that folder it works.  

 

BTW The error for me, according to the IO console is: 

 

Plugin file has failed extraction. Please see our packaging documentation for details

 

It is not: 

 

Plugin manifest file could not be parsed. Please see our manifest file documentation for requirements

 

 

Avatar

Level 1
For anyone still encountering this issue: please make sure there is no file of 0 bytes size (empty file) inside your plugin.

Avatar

Level 2
Are the error messages updated yet? I tried to upload again (with empty file) and it failed with the same generic error message

Avatar

Level 1

I had the sams issue. This solved it for me.

 

Problem: I zipped (made .xdx) the folder and not the contents.

 

Solution: Select everything inside your plugin folder and zip that. And this new zip file will be your xdx for upload.

 

The tutorial for packaging is here: https://adobexdplatform.com/plugin-docs/distribution/packaging.html