Gantt launched from any browser just refreshes/flickers - nothing loads.
STEPS TO REPRODUCE:
1. Go to either Modern or Classic projects
2. Click Task > Gantt
3. Review the Gantt
Expected: Gantt shuld load without issue
Actual: Indefinite refreshing/flickering - nothing loads
Any
In comparing the HAR files from a non-working and working environment:
1. Non-working environment:
Request:
content-type text/html;charset=UTF-8
Response:
content-type text/html
2. Working environment:
Request:
Content-type application/json,text/html,application/xhtml+xml,application/xml
Response:
Content-Type application/json;charset=UTF-8
The same calls are being issued, but the invalid content-type value was added to that environment's WAF permitted list to allow traffic with bad header.
This is reported as DE80949 and is not a defect.
The Classic Clarity UI uses Google's Web Toolkit to generate the javascript that is loaded into the browser. For the most part the Classic Clarity UI will generate HTML on the server and then send that to the generated javascript to display as users navigate from page to page in the UI. The response content-type for the majority of the pages in the Classic Clarity UI will be text/html.
Most navigation requests in the Classic UI are POST requests and the Accept header is coded with "application/json,text/html,application/xhtml+xml,application/xml". This is done because the client is not sure what the backend will return depending on the navigation request.
There are no plans to change this to be more restrictive based on the page that makes the request.
For the response header the server will usually respond with content-type: text/html;charset=UTF-8 when navigating from page to page in the Classic UI. There are a few exceptions to this, most notably the PPM Gantt and the Portolio Waterlines pages where JSON is the expected response content type. Here the content-type Response header will usually be application/json;charset=UTF-8.
This is expected and required for these pages and for a few other interactive areas of the Classic UI, like the expand/collapse of the filter section on list pages.
Note that in the Request header the client DOES NOT send a content-type header with multiple types. It sends the Request header content-type: application/x-www-form-urlencoded; charset=UTF-8 because it does a POST with this type of content to the server. It sets the Request header accept :application/json,text/html,application/xhtml+xml,application/xml because depending on the page making the request these are the types of content that the client will accept.
The solution is to add the invalid content-type value to the environment's web application firewall (WAF) permitted list.