Bug 1351585

Summary: Dashboard does not load on IE11
Product: [oVirt] ovirt-engine-dashboard Reporter: Petr Matyáš <pmatyas>
Component: GeneralAssignee: Vojtech Szocs <vszocs>
Status: CLOSED CURRENTRELEASE QA Contact: Petr Matyáš <pmatyas>
Severity: medium Docs Contact:
Priority: high    
Version: unspecifiedCC: lsvaty, mgoldboi, oourfali, pmatyas, vszocs
Target Milestone: ovirt-4.0.2Flags: rule-engine: ovirt-4.0.z+
rule-engine: exception+
mgoldboi: planning_ack+
oourfali: devel_ack+
pnovotny: testing_ack+
Target Release: 1.0.2   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-08-12 14:25:54 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: UX RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1361255    
Bug Blocks:    

Description Petr Matyáš 2016-06-30 11:45:56 UTC
Description of problem:
Dashboard does not load on IE11, only blank page is displayed.
When I load it with debugger enabled, exception is displayed.

Version-Release number of selected component (if applicable):
Win7 64b
IE 11.0.9600.18204
RHEVM 4.0.0-19

How reproducible:
always

Steps to Reproduce:
1. login to webadmin
2. check dashboard tab
3.

Actual results:
blank page

Expected results:
dashboard is displayed

Additional info:
SCRIPT5022: [React Intl] The `Intl` APIs must be available in the runtime, and do not appear to be built-in. An `Intl` polyfill should be loaded.
See: http://formatjs.io/guides/runtime-environments/
File: main_tab.js, Line: 33, Column: 2891

Comment 1 Oved Ourfali 2016-07-11 12:05:19 UTC
Petr - is that the latest IE?
Vojtech - according to what we know, what IE version should work?

Comment 2 Petr Matyáš 2016-07-13 11:00:56 UTC
I retested this with IE 11.0.9600.18349 which should be latest and dashboard is still not visible.

Comment 3 Vojtech Szocs 2016-07-13 12:27:14 UTC
AFAIK, in oVirt 4.0 the UI should work with IE10 and better. Petr, does this issue occur in IE10 too?

Dashboard uses "ECMAScript Internationalization API" (ECMA-402) which is a web standard. I thought that recent IE was finally catching up on web standards, looks like it's still not the case.

Interestingly enough, IE11 should support Intl API, but according to this BZ it doesn't: http://caniuse.com/#search=intl

The solution is to polyfill missing API according to https://github.com/andyearnshaw/Intl.js#intljs-and-browserifywebpack

Comment 4 Oved Ourfali 2016-07-14 05:54:21 UTC
Is the solution something you think we can do in 4.0?
Also, adding needinfo on Petr to answer your question above.

Comment 5 Vojtech Szocs 2016-07-14 10:31:32 UTC
(In reply to Oved Ourfali from comment #4)
> Is the solution something you think we can do in 4.0?

Yes, we can do it, there's little risk involved, just add Intl polyfill when building Dashboard.

Comment 6 Vojtech Szocs 2016-07-28 16:54:37 UTC
Fixing this requires a minor change in UI plugin infra, see bug 1361255.

Comment 7 Vojtech Szocs 2016-07-28 18:10:59 UTC
For some reason, Gerrit patches for ovirt-engine-dashboard project with proper Bug-Url do not seem to update corresponding BZ (?)

Comment 8 Vojtech Szocs 2016-07-29 18:24:27 UTC
The fix ensures that Dashboard loads in any browser by polyfilling the required web APIs such as `Intl` and `Promise`.

This should cover both IE10 and IE11. The fix was locally verified on ancient Firefox 26.

Comment 9 Vojtech Szocs 2016-08-01 15:34:00 UTC
When verifying this bug, please check in both IE10 and IE11.

Comment 12 Petr Matyáš 2016-08-05 08:42:05 UTC
Verified on 4.0.2-6