Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IE 11 support #1339

Closed
gschrader opened this issue Oct 13, 2016 · 15 comments
Closed

IE 11 support #1339

gschrader opened this issue Oct 13, 2016 · 15 comments
Labels
#bug:cant-reproduce Bugs that cannot be reproduced

Comments

@gschrader
Copy link
Contributor

The urls that are created to fetch the json data seem to be formed wrong for IE in both the Dashboard and Slice views.

For example:
image

The IE url vs Chrome url . Looks like it's missing caravel/explore/table/3 as a prefix.

This was discussed in #1323.

@gschrader
Copy link
Contributor Author

I haven't tried earlier versions of IE, I shudder to think anyone still needing to support them. The new Edge browser in Windows 10 works great already.

@mistercrunch
Copy link
Member

Does IE have weird issues with common URLs?

@mistercrunch mistercrunch added #bug:cant-reproduce Bugs that cannot be reproduced windows labels Oct 14, 2016
@gschrader
Copy link
Contributor Author

@mistercrunch what do you mean by common URLs? I can navigate through all the pages within caravel just fine, it's just the visualizations that aren't fetching correctly.

@woel0007
Copy link

woel0007 commented Nov 14, 2016

Did anyone else make any progress with this issue? From what I can tell, it's still happening...

Steps to re-create:

  1. I pulled the latest version of Superset from GH this AM. Commit: 2133056
  2. Install/build node dependencies.
  3. Started superset.

When tested via Chrome, everything seems to work just fine. However, when tested from IE11 (from the same machine used to test via Chrome) I see the same error from the screenshot above.

Note: Superset itself is not installed on Windows - I use my Windows machine only to test with different browsers. Superset is installed/running from OSX.

I did a little bit of troubleshooting - there's definitely a difference in the URLs being requested between Chrome and IE.

IE:

/superset/explore/druid/86/superset/explore_json/druid/86/?viz_type=table&granularity=one+day&druid_time_origin=&since=7+days+ago&until=now&table_timestamp_format=smart_date&row_limit=50000&include_search=false&flt_col_0=&flt_op_0=in&flt_eq_0=&having_col_0=&having_op_0=%3D%3D&having_eq_0=&slice_id=&slice_name=&collapsed_fieldsets=&action=&userid=2&goto_dash=false&datasource_name=Test.DBQL_Analysis_V3&datasource_id=86&datasource_type=druid&previous_viz_type=table&rdo_save=saveas&new_slice_name=&add_to_dash=false&save_to_dashboard_id=&new_dashboard_name=&json=true&force=false

Chrome:

/superset/explore_json/druid/86/?viz_type=table&granularity=one+day&druid_time_origin=&since=7+days+ago&until=now&table_timestamp_format=smart_date&row_limit=50000&include_search=false&flt_col_0=&flt_op_0=in&flt_eq_0=&having_col_0=&having_op_0=%3D%3D&having_eq_0=&slice_id=&slice_name=&collapsed_fieldsets=&action=&userid=2&goto_dash=false&datasource_name=Test.DBQL_Analysis_V3&datasource_id=86&datasource_type=druid&previous_viz_type=table&rdo_save=saveas&new_slice_name=&add_to_dash=false&save_to_dashboard_id=&new_dashboard_name=&json=true&force=false

If it isn't obvious from the above extremely-long URL, the only difference in the above URLs is that, in IE, the URL begins with /superset/explore/druid/86/; otherwise the 2 URLs are identical.

Any idea what could be causing this issue? Is there any other logs I can provide that might help to reproduce and/or diagnose?

@woel0007
Copy link

Does anyone have any thoughts on this one? Why would IE write a different URL than Chrome/Safari?

@gschrader
Copy link
Contributor Author

@woel0007 it doesn't make much sense to me why IE would behave differently, I haven't had a chance to look closer at the code yet though.

I do find it odd that @mistercrunch added the can't reproduce label, I think it is easily reproducible

@mistercrunch
Copy link
Member

It's only easy to reproduce if you have access to a windows computer

@gschrader
Copy link
Contributor Author

Yes true, having windows would be necessary. I've used https://github.com/xdissent/ievms in the past with success.

@niconoe
Copy link
Contributor

niconoe commented Dec 5, 2016

Yep, I also have the issue with v0.14.0

@francisliyy
Copy link

is there any breakthrogh for this issue?

@wbsljh
Copy link

wbsljh commented Dec 9, 2016

slice.jsonEndpoint() missing the '/' when you use ie 11 browser, so you can rewrite the jsonEndpotint

superset.js

jsonEndpoint() {
const parser = document.createElement('a');
parser.href = data.json_endpoint;
let endpoint = parser.pathname + this.querystring();
endpoint += '&json=true';
endpoint += '&force=' + this.force;
//for ie11
if (endpoint.substring(0, 1) != '/') {
endpoint = '/' + endpoint;
}
return endpoint;
},

@xrmx
Copy link
Contributor

xrmx commented Dec 9, 2016

@wbsljh care to open a pull request please?

@rlei
Copy link
Contributor

rlei commented Dec 13, 2016

@xrmx we recently met the same issue and had fixed it in our local repo. I've created PR #1821 for it. Please have a review at it, thanks.

The issue is caused by a long standing IE issue. Superset's Slice.jsonEndpoint() method relies on DOM element's pathname() to build JSON API URL for slices, and in IE <= 11 the return value of out-of-document element lacks a leading '/'.

@xrmx
Copy link
Contributor

xrmx commented Dec 13, 2016

@rlei thanks!

rlei added a commit to rlei/superset that referenced this issue Dec 14, 2016
This should fix issue apache#1339.

IE 11 and lower has a long standing issue: out-of-document element's
pathname has no leading '/'. See

https://connect.microsoft.com/IE/feedbackdetail/view/1002846/pathname-incorrect-for-out-of-document-elements

And Superset's Slice.jsonEndpoint() method relies on pathname() to build
JSON API URL for slices:

```javascript
      jsonEndpoint() {
        const parser = document.createElement('a');
        parser.href = data.json_endpoint;
        let endpoint = parser.pathname + this.querystring();
        endpoint += '&json=true';
        endpoint += '&force=' + this.force;
        return endpoint;
      },
```

`parser` above is exactly an out-of-document element. Therefore when
running in IE <= 11, Superset would build wrong JSON endpoint URLs,
hence the 404 errors for loading data for slices.

This commit adds a simple workaround when leading '/' is missing in the
value returned by pathname().
mistercrunch pushed a commit that referenced this issue Dec 14, 2016
This should fix issue #1339.

IE 11 and lower has a long standing issue: out-of-document element's
pathname has no leading '/'. See

https://connect.microsoft.com/IE/feedbackdetail/view/1002846/pathname-incorrect-for-out-of-document-elements

And Superset's Slice.jsonEndpoint() method relies on pathname() to build
JSON API URL for slices:

```javascript
      jsonEndpoint() {
        const parser = document.createElement('a');
        parser.href = data.json_endpoint;
        let endpoint = parser.pathname + this.querystring();
        endpoint += '&json=true';
        endpoint += '&force=' + this.force;
        return endpoint;
      },
```

`parser` above is exactly an out-of-document element. Therefore when
running in IE <= 11, Superset would build wrong JSON endpoint URLs,
hence the 404 errors for loading data for slices.

This commit adds a simple workaround when leading '/' is missing in the
value returned by pathname().
@xrmx
Copy link
Contributor

xrmx commented Dec 28, 2016

PR is merged, closing.

@xrmx xrmx closed this as completed Dec 28, 2016
zhaoyongjie pushed a commit to zhaoyongjie/incubator-superset that referenced this issue Nov 17, 2021
zhaoyongjie pushed a commit to zhaoyongjie/incubator-superset that referenced this issue Nov 17, 2021
apache#1355)

This reverts commit 19f8f6a09c284de157c7179d43275ea2344b2372.
zhaoyongjie pushed a commit to zhaoyongjie/incubator-superset that referenced this issue Nov 24, 2021
zhaoyongjie pushed a commit to zhaoyongjie/incubator-superset that referenced this issue Nov 24, 2021
apache#1355)

This reverts commit 19f8f6a09c284de157c7179d43275ea2344b2372.
zhaoyongjie pushed a commit to zhaoyongjie/incubator-superset that referenced this issue Nov 25, 2021
zhaoyongjie pushed a commit to zhaoyongjie/incubator-superset that referenced this issue Nov 25, 2021
apache#1355)

This reverts commit 19f8f6a09c284de157c7179d43275ea2344b2372.
zhaoyongjie pushed a commit to zhaoyongjie/incubator-superset that referenced this issue Nov 26, 2021
zhaoyongjie pushed a commit to zhaoyongjie/incubator-superset that referenced this issue Nov 26, 2021
apache#1355)

This reverts commit 19f8f6a09c284de157c7179d43275ea2344b2372.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
#bug:cant-reproduce Bugs that cannot be reproduced
Projects
None yet
Development

No branches or pull requests

8 participants