User-installed apps health check fails in Data Center when configuring CDN
Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.
Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Problem
The CDN administration screen in your Data Center application displays the following failed health check:
User-installed apps may not be compatible
The following apps rely on deprecated code which can lead to problems when caching assets.
Cause
This warning is displayed when we detect that a Marketplace or other user-installed app is using a deprecated method, which may result in assets being cached incorrectly.
In many cases this won't cause any problems and the app will work as expected, but in some cases, particularly if the app provides per-user personalisation, some user-specific assets or data could be cached and then leaked to all users.
For example, if an app allowed you to personalise the site colour scheme on a per-user basis, and the first time someone viewed the site their personalised CSS was cached, it would then be served to all other users. A more extreme example might involve actual content or user information being cached.
Resolution
To resolve this issue, you should report the problem to the app vendor, and either:
- don't enable CDN until an updated version of the app is available
- disable the app until the vendor can provide an updated version of the app.
Alternatively, you could continue using the app, with CDN enabled. If you choose to do this, we recommend you thoroughly test the app in your staging environment, with various scenarios involving per-user personalisation before deciding to do this.
Information for App vendors
In Confluence 6.0 and Jira 7.0 we moved to stateless delivery of JavaScript and CSS resources. Apps that don't use the new APIs for web-resource transforms and conditions may cause static assets to be cached incorrectly, when CDN is enabled.
See https://developer.atlassian.com/server/framework/atlassian-sdk/stateless-web-resource-transforms-and-conditions/ to make sure your app is using the new APIs for web-resource transforms and conditions.