Adding Vincent's analysis and findings to the bug report:
Confluence loads the xml file from plugins.atlassian.com
eg: (this is just an example)
https://plugins.atlassian.com/server/legacy/confluence/xml/1724?&profile=confluence&decorator=none&buildNumber=1724&repoClientVer=2.1.6&os=x86&javaVer=1.6.0_10&javaVendor=Sun+Microsystems+Inc
For the "JavaMelody Monitoring Plugin Product compatibility " We
notice the xml returned does not contain the 'compatibility' nodes:
eg
https://plugins.atlassian.com/plugin/matrix/20909
Could you please confirm that the compatibility nodes are being
returned for this plugin in production?
Thank you!
The code in question is repository.js:686
RepositoryPluginsTab.Plugin.prototype.isVersionBroken = function (version) {
var productBuild = RepositoryUI.getConfigSetting("productBuildNumber");
if (version.compatibility.startBuild &&
version.compatibility.startBuild > productBuild) return true;
if (version.compatibility.endBuild &&
version.compatibility.endBuild < productBuild) return true;
for (var i=0; i<version.compatibility.brokenBuilds.length; i++) {
if (Number(version.compatibility.brokenBuilds[i]) ==
productBuild) return true;
}
return false;
};
the compatibility is assumed to exist (should the code be a bit more
defensive and do some prechecks?)
See screenshot of the version.compatibility = null error + the debug output.
Hope this helps.
Regards
Vincent Choy.
The resolution says 'fixed' but I'm running 3.3 now and it still occurs when I select "Current confluence build" as the Confluence build number in the Admin page of the Plugin Repository. If I select "Latest confluence build", the error does not occur. In my build, Confluence v3.3 does not appear in the list of build options available (the list only goes up to 3.2.1).