tangrams / tangram

WebGL map rendering engine for creative cartography
https://tangram.city
MIT License
2.22k stars 290 forks source link

Scene.load() failed to load in Edge with IPV6 loopback address #629

Open markconnellypro opened 6 years ago

markconnellypro commented 6 years ago

TANGRAM VERSION:

v0.14.2 (minified, tried using both web and local versions)

ENVIRONMENT:

Microsoft Windows 10 Home Version 10.0.16299 Build 16299 Microsoft Edge 41.16299.15.0

ISSUE:

When loading a page with a Tangram instance in Microsoft Edge when accessing page on local web server using IPV6 loopback address ([::1]), an error ensues and the map does not load:

image

This does not occur when using another browser or when accessing the page using IPV4 loopback address (127.0.0.1). Paths to YAML files show as follows:

image

OBSERVATIONS:

I also tested this using debug version, and I believe the issue is in the highlighted line, as Firefox appropriately returns brackets around the IP address for the IPV6 loopback address when displaying the output for base_info.host, while Edge does not. I am not familiar enough with how the host method works to suggest an alternate implementation that will not break in other use cases:

image

bcamper commented 6 years ago

Hi, sorry for the delay. I've also been unable to find details on this issue, and I don't have experience working with IPv6 addresses. It's not surprising if there's a slight behavior difference in Edge, you can see from the screenshotted code above, it tries to account for variances in browsers' support of the origin field on an <a> element, and it would be consistent to see some difference there is how IPv6 is handled as well.

Do you have a minimal example of how one would set this up locally?