iPad Dashboards Dying - Troubleshooting?

I have been battling errors recently where my dashboards (I have three) - previously running perfectly on iPad gen 2 (x2) and iPad gen 5 (x1) started hanging overnight. Sometimes they would hang within hours of resetting.

I semi correlated this with an update to my Kiosk App - Kiosker Pro. They did a massive UI change.

But over time, I tried several other Kiosk apps and even Guided Access. But nothing seemed to help.

I was going down tbe road of replacing Safari as the default browser hoping the Kiosk apps would use this other browser but decided maube it was iOS and the iPads.

So I bought a lot of three iPad Gen 6…. And oddly they are goving me the same issues.

What I have noticed is a toast message at rhe bottom of my ipads (usually) saying something about “Socket”

I see Socket Connected when things are fine and Socket Status Unknown when the disboard gets stuck loading and Socket Disconnected when it seem the Dashboard has gone stale

I have read on here this seems to be a known issue?

Is there any advice for an iPad user? Settings to adjust? Logs to review?

Do you recall the approximate date? Looks like you posted about the Kiosker update on March 7th.

I can’t think of any changes we made after the introduction of the realtime socket connection in early 2024 that could contribute to this. But I estimate that most devices running the production site cutover to the realtime socket connection in mid-late February.

Can you clarify what’s a known issue? Perhaps a link to a thread?

The Socket Connected messages is normal. If the device gets stuck with a Socket Disconnected message, that’s not good as it means your dashboard is not getting realtime updates.

Since you have a variety of devices available for testing, have you tried creating a separate ‘test’ SharpTools account?

It’s not clear exactly what you meant by “started hanging overnight”, but that might determine what type of content you would need for testing. If it’s where you are clearly seeing an error like “Socket Disconnected”, then even a blank dashboard or just some dashboard with static content could work.

If it’s actions stopping working and realtime data stopping working, then perhaps just a few variables to test with (I’m happy to temporarily tag the test account with free premium access to testing this).

What I’m wondering is if perhaps there’s some content either on the dashboard or in the account itself which is causing things to get funky. At the very least, if we can rule that out, it helps us focus our efforts elsewhere. :slight_smile:

So in this case, this has actually been going on for a while - even before this. However, because this was the only significant change in my configuration, I thought it could have been due to this update. I was a beta tester for Kiosker Pro - so I had advanced access to this update as well.

There are a few threads, but this one captures most of what I was understanding:
Background network disconnected - Reload - SharpTools.io (web) - SharpTools Community

I have not created a Test Account - honestly I’ve just been “dealing with it” hoping for an iOS upgrade or something…

In regards to how it manefests itself:

Here, the dashboard is no longer “live”

Here, this is what I typically wake up to after overnight - but this happens randomly even during the day. Sometimes I can go 1-2 days, but eventually all three iPads will wind up looking like this - I didn’t get a good photo but the toast says “Socket Status Unknown” and there is a “loading” animation that just sits there.

As an alternative - I tried downloading Brave and making it the “default” browser - no help.
I bought “Kiosk Pro Plus” - no help
I bought “tKiosk” - no help
I tried “Kiosk - Fullscreen Broswer” - no help
I tried “URL Bookmark” / guided access - no help

What I haven’t tried yet is using Brave as a “bookmark” and guided access…

i did get this replay from Kiosker Pro:
“We are aware of memory leaks on some legacy devices. Our investigation points at memory leaks in the Apple WebKit engine. We have filed a bug report to Apple and they have responded that tey are aware of the issue. No solution is available at the moment. The issue seems quite hard to pinpoint since crashes only happens on some devices. We have a iPad Air 2 running a Home Assistant Dashboard for months without crashing.”

I owe them some logs - which I will be working on collecting…

Do you have a rough idea of when it might have started?

Thanks for the feedback. That particular thread is a bit unique as it was a really early introduction of the background worker where it wasn’t actually doing anything (intentionally). And this was actually showing an error about the worker itself which theoretically shouldn’t ever happen and was really intended as a failsafe.

We refined the notification so it only shows when the background worker is really dead.

The notification you mentioned is around the realtime socket. You would expect to see the ‘connected’ status… and perhaps on a phone or device with unstable connection see the ‘disconnected’ status sometimes.

I couldn’t see it in your second screenshot, but seeing the ‘Socket Status Unknown’ and the app stuck on the initial loading screen is definitely unexpected.

You mentioned that you bought a lot of three iPad 6th generation devices and those are giving you the same issues. I just wanted to confirm that it’s the same thing where you are the “Socket Status Unknown” and the grey blank screen with the loading spinner?

To be fair, all browsers on iOS leverage Safari’s engine under the hood. Even Chrome. It’s a restriction Apple places on iOS devices.

With “URL Bookmark” are you referring to using the Add to Homescreen option in iOS?

And in “Guided Access”, is that using regular Safari just with the app ‘locked’ using Guided Access?

The reason I ask is the Add to Homescreen approach is kind of like the Kiosk apps where it’s using Safari for rendering, but it’s like its own sandboxed app. But I’m curious if just native Safari is experiencing this too.

What about a simplified dashboard? I didn’t see the whole dashboard, but if any of those media tiles are MJPEG or refreshing images, I wonder if that could contribute to the memory issue.

And if a simplified dashboard doesn’t help, it would be could to at least try a test account so we can narrow down what’s going on.

Yeah I got a bad shot - but luckily for me, one of the iPads was acting up downstairs.
Here it is:

Yep, exact same issues

Correct - similar to the instructions post on the SharpTools user guide for iPads.

Let me add a bit more:

I have literally removed every single app that is removable (even all the Apple Apps).
The only apps left are Kiosker Apps, Camera, Safari, and Messenger (but Messenger is shut down as well)

I have shut off iCloud syncing - absolutely nothing syncs to iCloud
I have shut off Siri entirely,
I have shut off background App refresh (except for Kiosker Pro)…
I have shut off Bluetooth
I have tried associating the WiFi to a dedicated AP (I have six APs in the house)
Notifications are off
I have one iPad with all Network protection shut off

Nothing seems to help

1 Like

To answer your timeline issue…

I say about a year ago… Sorry I can’t be more specific…

As for the Bookmark method - I’ll explore that a bit more again.
The problem I found was, it had its own quirks when left onscreen for days on end.
I’d come to a dashboard sitting on the homescreen or unresponsive to touch…

I thought I read in some of the threads here the toast message “Socket connected” was a SharpTools thing? Is this correct?

I am going to start removing some of my widgets - starting first with Javascript then moving to animated GIFs and then see where it goes…

1 Like

As I troubleshoot this with folks from Kiosker Pro.

Thought I’d share some of the logs I see which may - or may not - provide any insights.

First, what I have changed (beyond where I was a year ago)…
I have upped all my refreshing images to no less than five minute refresh. Some I bumped to an hour refresh (all weather related). Internally, my cameras by IP - I bumped those to 15 seconds.

I removed a Javascript web part from WillyWeather (which provided a Weather Alert ticker type of display)…

Here are some of the log entries I found interesting:
2024-06-11 20:07:12 :blue_heart: INFO - [“[SocketManager::PingUtil::ping] Performing async ping with pingId”, “ptYpej”]
2024-06-11 20:07:16 :purple_heart: VERBOSE - [“Received 'collection.set' for 'publicTokens' with 1 documents”]
2024-06-11 20:07:12 :heart: ERROR - [“[WorkerHeartbeat] Heartbeat and ping failed. Attempting recreation. “]
2024-06-11 20:07:12 :green_heart: DEBUG - [”[SocketManager::PingUtil::awaitPong] PongTimeout”, “ptYpej”]
2024-06-11 20:07:12 :purple_heart: VERBOSE - [“[SocketManager] SocketWorker is created.”]
2024-06-11 20:07:15 :blue_heart: INFO - [“[SocketManager::success]”, “Initialized.”]
2024-06-11 20:07:15 :blue_heart: INFO - [“[SocketManager::success]”, “Successfully sent command connect”]
2024-06-11 20:07:15 :green_heart: DEBUG - [“[SocketManager::socket] status=connecting”]

2024-06-11 19:41:06 :green_heart: DEBUG - [“Subscriptions are filtered from 241 to 148 based on device authorization for location - xxxxxxx”]
2024-06-11 19:41:06 :green_heart: DEBUG - [“Retrieving subscriptions from samsung-smartthings for location xxxxxxx”]
2024-06-11 19:41:06 :green_heart: DEBUG - [“There are 241 subscriptions in the database for location xxxxxx”]
2024-06-11 19:41:06 :yellow_heart: WARNING - ["Missing 11 subscriptions for location

----------FROM THE APP LOGS----------------

2024-06-13 11:08:43 :blue_heart: INFO updateUIView(:context:): 46 - Screensaver WebView Representable updateUIView
2024-06-13 11:08:44 :yellow_heart: WARNING webViewWebContentProcessDidTerminate(
:): 430 - WebView content process did terminate

Thanks for the updates. It seems like the pages may be “crashing” in some way since you’re seeing the grey blank screen with “Socket status unknown”.

Apps vs Dashboard Content
I would be less concerned about the other apps on the iPad and more curious about the content on the dashboard itself which is why I was suggesting paring down the dashboard or even setting up a simplified test account.

Releases over Past Year
A year ago is quite a while back. The announcements category sorted by created date gives an idea of the items released over that time.

Starting around June '23 was the release of the Homey Integration but that was mostly a backend change. There was a bunch of other improvements including Faster Custom Tiles, Autorefreshing Backgrounds, Rule Engine Improvements, Hero Attribute Improvements, and more, but I can’t think of anything that would contribute to this type of issue.

Sockets & Background Worker
The realtime sockets in SharpTools weren’t released to production until February '24. In November '23, we released an early implementation of the Background Worker, but it wasn’t using a realtime socket for pushing out data – we end up refining that and rolling it out as a background thing in late '23 with the intention being that it would allow us to push out a message to devices running old versions of the web-app when we later did the realtime socket release several months later.

Log Entries
The log entries from the SharpTools side of things are mostly normal - receiving documents, periodic heartbeats, and the socket (re)connecting are normal.

While the healthcheck on the background worker is intentional and designed to recreate the worker in the rare event that it was terminated, it’s not something I would expect to commonly see in day-to-day usage. So that’s interesting that it needed to recreate itself.

Thank you for your always responsiveness and assistance.

Ultimately my dashboard has been fairly static since I originally bragged about it in the “Show Me Your Dashaboards” threads.

On the homepage, I have three static JPGs and two animated GIFs. I am using your OpenWeather Title and then I fill the rest in with “buttons” - none are Hero or Super… But highly customized in terms of Images/Colors

I am testing the idea of slowly removing a few blocks one at a time and waiting a period of time…

I will keep you informed

1 Like