gazoscalvertos / Hass-Custom-Alarm

Yet another take on a home assistant custom alarm
221 stars 94 forks source link

[COMPATIBILITY] Display on older IOS version #37

Closed wranglatang closed 3 years ago

wranglatang commented 6 years ago

Im trying to setup an old iPad (gen 3) as a alarm controller - It will display 24/7 the alarm panel. However when trying to access the Alarm panel from the HA app nothing appears but there is a message at the bottom "service system_log/write called.

Ive tried on newer iPad's, iPhone's, different browser all with the same message?

Any help?

wranglatang commented 6 years ago

I have updated my config with the frontend: javascript_version: latest

The alarm panel is now showing on my iPhone 8 Plus but still won't show on the iPad.

jcooper-korg commented 6 years ago

i see a similar problem. I have the javascript_version set to latest. When i try to access from iOS, i see "service system_log/write called." and i see a log message like: 2018-05-07 16:15:39 ERROR (MainThread) [frontend.js.es5.201804260] undefined:1:11 TypeError: Cannot call a class constructor without |new|

gazoscalvertos commented 6 years ago

This is likely due to the older version on IOS not having the latest web engine.

Install Chrome on the iPad, that should render using the latest version of Javascript

pharpe commented 6 years ago

I have an ipad on IOS 9.3.5 and am running it the exact same issue. Whenever I try to access the alarm panel I get service system_log/write called. All other panels are working. This line gets written to the log every time I try.

2018-09-17 13:11:26 ERROR (MainThread) [frontend.js.es5.201808291] :0:0 Script error.

Same behavior in Chrome. This only happens from my older IOS devices.

pharpe commented 6 years ago

After doing more research on this I found that "apps that browse the web must use the iOS WebKit framework and WebKit Javascript." So that means all browsers must Use Safari’s Rendering Engine so changing the browser will not provide updated Javascript. Apple is not updating 32 bit devices beyond ios 9.3.x. which supports es5.

Setting

frontend: javascript_version: es5

seems to work for all native HA panels but does not work on Hass-Custom-Alarm panel. Is there any way to make it backwards comparable?

gazoscalvertos commented 5 years ago

I'll be providing a way in the future. Javascript ES6 is currently in use however I want to move away from polymer to react. Once I have this sorted I'll release a react version which is ES5 compatible, in other words works with older browsers.