phaistonian / MyExtensions

Are you an extensions developer? Keep track of your Chrome extensions. Be notified for new comments, ratings and more!
https://chrome.google.com/webstore/detail/igejgfmbjjjjplnnlgnbejpkpdajkblm
52 stars 24 forks source link

Chrome Web Store update patch #7

Closed neocotic closed 13 years ago

neocotic commented 13 years ago

This fixes the MyExtensions where it could not update the extensions or allow them to be added. These problems were introduced by the October 25th update to the Chrome Web Store causing the regular expression used to extract meta data to fail.

Unfortunately, the following details can no longer be extracted;

These values are no longer updated in getMeta and the corresponding columns and fields in the popup have been hidden using CSS.

I've also changed the "Extensions" link in the popup to use the new chrome://settings/extensionSettings URL for managing extensions.

This pull request was created in response to #6.

hansifer commented 13 years ago

For extension version #, check out the xhr call to:

https://chrome.google.com/webstore/ajax/detail

from any web store extension detail page.

Thanks for the fixes, BTW.

Cheers, Hans

neocotic commented 13 years ago

@hansifer I did see this call and it would be IDEAL if it worked as almost all of the details could be taken from here instead of using regex matching to parse HTML. However, the actual response is invalid JSON since it seems to start with the following;

)]}'

Although this could be worked around I found it would be easier to just leave the version out for this fix as the JSON after this illegal syntax isn't exactly well formed. I may still look in to doing this fix in another pull request as I did notice that using the compact view doesn't hide the version column.

To save me looking it up again the full URL of the AJAX request (incl. parameters) is; https://chrome.google.com/webstore/ajax/detail?hl=en&id=EXTENSION_ID

neocotic commented 13 years ago

@hansifer I've now created a second patch that reintroduces the version number but I've had to treat the AJAX response before parsing as JSON due to Google's dirty implementation of JSON.