Details
Description
Assets, which do not start with a /, are not properly encoded with the AssetEncoder when using Friendly URL's.
When injecting a script, inside of the Classpath via the @InjectScript, we are seeing that the path is a relative path. IE, "com/company/components/ColorPicker.script". There is no / like on the Form component for its external script injections. In the asset encoder.
The asset encoder assumes that the path starts with a /. You will then get the digest and the path collide because there is no seperator. There needs to be a check somewhere for this.
AssetEncoder.java, Line 49
// _path ends with a slash, path starts with one.
// simple workaround, aviods copying path and uses literals
String pathSeperator = "";
if (!path.startsWith("/")) pathSeperator = "/";
String fullPath = _path + "/" + digest + pathSeperator + path;