[MGNLUI-4345] IE 11 doesn´t open Magnolia apps Created: 12/Jan/18 Updated: 26/Jan/18 Resolved: 25/Jan/18 |
|
| Status: | Closed |
| Project: | Magnolia UI |
| Component/s: | admincentral |
| Affects Version/s: | 5.6, 5.6.1 |
| Fix Version/s: | 5.6.2 |
| Type: | Bug | Priority: | Blocker |
| Reporter: | David Caviedes Marquez | Assignee: | Federico Grilli |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | IE11 | ||
| Remaining Estimate: | 0d | ||
| Time Spent: | 1.5d | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Windows 7 Professional Edition 64 bits |
||
| Attachments: |
|
||||||||
| Issue Links: |
|
||||||||
| Template: |
|
||||||||
| Acceptance criteria: |
Empty
|
||||||||
| Task DoD: |
[ ]*
Doc/release notes changes? Comment present?
[ ]*
Downstream builds green?
[ ]*
Solution information and context easily available?
[ ]*
Tests
[ ]*
FixVersion filled and not yet released
[ ] 
Architecture Decision Record (ADR)
|
||||||||
| Bug DoR: |
[ ]*
Steps to reproduce, expected, and actual results filled
[ ]*
Affected version filled
|
||||||||
| Date of First Response: | |||||||||
| Sprint: | Basel 131 | ||||||||
| Story Points: | 3 | ||||||||
| Description |
|
Hello, it is not possible to open Magnolia apps from admincentral in IE11 as shown in image: By pressing into shortcuts Magnolia only shows "onmouseover" effect but doesn´t open any app. Regards |
| Comments |
| Comment by Mikaël Geljić [ 12/Jan/18 ] |
|
My first suspicion was about touch delegates; but interestingly, the location *is* updated, and after a page-refresh, the app is displayed. Still super annoying, but this seems to be an issue with the app viewport and/or its transition from the shell. |
| Comment by David Caviedes Marquez [ 12/Jan/18 ] |
|
Good morning, exactly, refreshing the page opens the app, hehehe. We will waiting for bug fix at SUPPORT-8288 Regards |
| Comment by Viet Nguyen [ 12/Jan/18 ] |
|
Hello dmarquez, Yeah good news is refreshing the page could be a work around but also it's 'super annoying'. Have a good day! |
| Comment by Viet Nguyen [ 12/Jan/18 ] |
|
It worked on Edge - Windows 10 IE trial license. |
| Comment by David Caviedes Marquez [ 12/Jan/18 ] |
|
Hello Viet, yes it worked on Edge, we tested it yesterday. Next time we will report across support way. Regards |
| Comment by Viet Nguyen [ 15/Jan/18 ] |
|
Please also note that it doesn't work on both IE11 modes, compatible mode enabled and disabled on my testing virtual machine. Hoping our fix can cover this too. |
| Comment by Mikaël Geljić [ 15/Jan/18 ] |
|
viet.nguyen I would say the compatibility mode might be out-of-scope (or is only a "nice to have"), as it emulates the behavior of old IE versions we no longer officially support. Edge mode should definitely be working though. |
| Comment by Federico Grilli [ 24/Jan/18 ] |
|
To recap: After some debugging and research, problem apparently is on IE11's side as it fails to fire the popstate event https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/3740423/ (MS claims to have fixed it but according to comments there it's not and the codepen link attached to the issue seems to confirm it). What does all that mean for Magnolia? Basically, Magnolia's app launcher mechanism relies on the URL fragment changing and firing a browser history's change value event which is handled to get hold of the app name and start it. In particular Magnolia relies on the popstate event to navigate to the app. As IE11 fails to fire it (at least under these circumstances), no app is open. The fragment does get updated, as one can see in the browser's address bar, but after that nothing happens cause the event which History.newItem("app:" + appName, true) is supposed to trigger doesn't occur (see also info.magnolia.ui.vaadin.gwt.client.applauncher.connector.AppLauncherConnector#activateApp). There is also a related Vaadin ticket (from which I actually learnt about the issue with IE and navigation) https://github.com/vaadin/framework/issues/9567 |
| Comment by Viet Nguyen [ 25/Jan/18 ] |
|
Then for short the fix is within Browser.getWindow().setOnpopstate(event -> navigate()); by if BrowserInfo.get().isIE11() Browser.getWindow().setOnhashchange(event -> navigate()); else Browser.getWindow().setOnpopstate(event -> navigate()); And would be included in our upcoming release 5.6.2. |