OK, I found the issue and it's fixed on my development server. I've tested the new version in my car (old browser, firmware 2018.6.1), and I had someone test it on firmware 2018.14 (new browser) and it's working.
The issue is the following:
This appears to have solved the issue in the newer browser and is also maintaining backward compatibility with the old browser, although the HTTPS call is slower than the HTTP call. This fortunately only affects the loading speed, not the running speed.
It will take me a few days to get this pushed up to the main site at teslawinds.com, because I'll have to get an SSL certificate for it.
Once I'm confident that this fixes it for everyone, I'll see about lowering the position timer value so that the compass updates more often, which is now possible in the new browser.
The issue is the following:
- In the newer browser, a lot of modern security has been added. Javascript in the page doesn't seem to be able to request the geolocation from the browser unless the page and the Javascript was loaded using HTTPS. I believe the modern Chrome and Firefox desktop browsers are also enforcing this.
- If I load the page via HTTPS, then I have to call the API sites at OpenWeatherMap.org and GeoNames.org using HTTPS also to avoid a mixed content warning in the browser.
- I had to find all locations within the page and the Javascript where outside resources were loaded and change them to HTTPS.
- I had to find a way to take a user's request for the non-secure page using HTTP and redirect him to the HTTPS page seamlessly.
- The older browser doesn't support TLS 1.2, so I had to relax some of my security on the web server to allow TLS 1.0 to connect.
This appears to have solved the issue in the newer browser and is also maintaining backward compatibility with the old browser, although the HTTPS call is slower than the HTTP call. This fortunately only affects the loading speed, not the running speed.
It will take me a few days to get this pushed up to the main site at teslawinds.com, because I'll have to get an SSL certificate for it.
Once I'm confident that this fixes it for everyone, I'll see about lowering the position timer value so that the compass updates more often, which is now possible in the new browser.