Uploaded image for project: 'PUBLIC - Liferay Portal Community Edition'
  1. PUBLIC - Liferay Portal Community Edition
  2. LPS-93358

Look & Feel Configuration popup displays error upon saving when using HTTP2

    Details

      Description

      Important notes:
      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

      <Connector port="8443"
      
          protocol="org.apache.coyote.http11.Http11AprProtocol"
      
          maxThreads="150" SSLEnabled="true">
      
            <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol"/>
      
            <SSLHostConfig honorCipherOrder="false">
      
                <Certificate certificateKeyFile="conf/ca.key"
      
                  certificateFile="conf/ca.crt"/>
      
            </SSLHostConfig>
      
        </Connector>
      

       

      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

      Current behavior:
      The following error message displayed (see screenshot): 'Your settings could not be saved.' However, the changes get saved.

      Expected behavior:
      Changes are saved without error message.

      Reproducible on:
      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

       

      Notes:

      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

        Attachments

          Activity

            People

            • Assignee:
              summer.zhang Summer Zhang
              Reporter:
              norbert.nemeth Norbert Németh
              Participants of an Issue:
              Recent user:
              Clarissa Velazquez
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:
                Days since last comment:
                12 weeks, 6 days ago

                Packages

                Version Package
                7.0.0 DXP FP80
                7.0.10.11 DXP SP11
                7.0.X