Affects Version/s: 7.0.X
Component/s: Frontend Infrastructure
The behavior is only reproducible with HTTP/2.
Reproduction steps - based on findings of Escalation Engineer:
1) Use Tomcat 8.5 or later - that means for 7.0, you need to manually deploy Liferay according to Installing Liferay DXP on Tomcat 8article (reason: 8.0 does not support HTTP/2)
2) Add the following lines to Tomcat's server.xml
3) Add the attached ca.key and ca.crt files to the TOMCAT_HOME/conf directory
4) Start Liferay and open https://localhost:8443 (please use HTTPS!)
5) Open the Look & Feel configuration of any portlet (for example Hello World)
6) Make some changes and save it
The following error message displayed (see screenshot): 'Your settings could not be saved.' However, the changes get saved.
Changes are saved without error message.
7.0.x-private, Commit: 0bd38e2ac4ef1e0038c66db22238e73d447cb665
Not reproducible on:
7.1.x, Commit: c5627a1b8508d09375cf5355fa7c7d16e50063ab
master-private, Commit: b3be1b0b4001506e38594faf39497cb2e68627c1
Because we not using statusText to check the response message
The root cause = HTTP2 does not support reason-phrase and our statusText will be an empty string. Inside look_and_feel.js we check against statusText to display the error/success message