Variable value not updating on dashboard

I have an AirBnB with a wall mounted iPad that displays a SharpTools dashboard in Safari in Guided Access mode which basically is like kiosk mode (guests can’t exit the dashboard). One of the tiles displays a variable which is the door code, which gets updated in a rule before the guests check in.

I’ve noticed that the tile doesn’t always update when the variable changes - last week when I was there, it was still showing the door code from the week prior for example. I confirmed the variable had the correct value assigned in Resources.

Did you check from the same device that was displaying the dashboard?

Is it just a normal Variable Tile or is the variable embedded in a different tile type (eg. Super Tile). If it’s a regular Variable Tile, you should be able to edit the tile and view the variable name to make sure it’s pointing to the correct variable.

Were you able to get it in sync again? I’d be curious which of these help:

  • Refresh the browser page (you may have to exit Guided Access temporarily)
  • Close the browser completely (swipe it away) and reopen it
  • Temporarily change the variable value and then change it back to your desired value

Is the tablet going to sleep after a period of time or is the display always on?

So the variable is getting updated when viewed from my phone, but the iPad, where it is displayed, the variable is not updating.

It is a normal variable tile and I confirmed the variable being used/displayed is correct.

The tablet is constantly powered and never goes to sleep or gets locked.

Closing and reopening the browser seemed to refresh the connection and did fetch the current value of the variable on the iPad.

I think there may be an issue with the iPads network connectivity where it is slow to access the internet (whether it is a URL, app updates, etc). Not knowing how variables are fetched/updated to the client, is there an option from the client to force a refresh or whatever to ensure this particular iPad has the latest variable values (and whatever else it may be missing)?

When the issue is occurring, can you please try navigating to the hidden Diagnostics Page within the app and let me know what you see in the Worker Logs?

I had seen some reports with Safari on Mac around 6~12 months ago where the realtime connection would get broken and the automatic healing process wasn’t working on specific Safari versions. I can’t remember the exact versions, but it was maybe when Safari 17? I haven’t seen reports of that recently, so I figured it might have been fixed in a subsequent Safari release so haven’t investigated it further.

Diagnostic Page (hidden)

Thanks for sharing. I’ll need to look at my notes, but at first glance that looks like the issue I was seeing with certain Safari versions before.

The Worker Logs section shows that it tried to recreate the background realtime worker at 2:05:26, then 10 seconds later it noticed that it wasn’t getting a heartbeat from the background worker again, so it tried recreating it again… then 10 seconds later what appears to be the start of another cycle.

From what we saw when we originally had reports of this, it was a bug in the underlying browser implementation by Safari. I hadn’t seen reports of it recently, so I figured it might have been fixed in a later Safari update.

Can you please confirm the following details:

  • iOS and Safari Versions
  • iPad model (eg. “iPad Air 2”)

iOS 17.7.4
Safari version same as iOS
iPad model 6th gen (FR7G2LL/A)

1 Like

Any news or findings go on this?

I haven’t had a chance to dig into it closely and haven’t been able to find a way to consistently reproduce the issue.

It seems like it’s some combination of Safari version but I’m not sure what actually triggers the issue. If I knew how to quickly trigger the issue, it would help in diagnosing the issue or at least testing different tweaks. To complicate the matter further, Safari doesn’t expose debugging tools for the ‘background workers’ which actually establish the realtime connection. :man_facepalming:t2: