Why does this frequently happen? I have a private app that works. My Tidbyt apps are on a daytime/nighttime schedule. I look at it this morning, my private app is gone. I toggle some settings to save and try to give it a nudge—still not there. I remove it, re-add it, the preview works in the iPhone app—still not on the device.
No errors, no indication what’s happening, and it’s another service I’m spending money on only to have spend a bunch of my time trying to figure out why it’s not working…
I guess the issue is that there was an error, yet I still have a valid preview image, and no indication of the error without digging into the logs. My private app should have an error handler—but why does it disappear from the device?
We run the app right before it’s due to be displayed on the device. Then there are three things that can happen:
The app runs and returns a screen. This will get sent to the device for display.
The app runs without error and returns nothing, or an empty render.Root() with no screens. In this case the app will stop being shown on the device, until it returns some screens again in the future. This is useful for something like a calendar app that only shows something when an event is happening.
The app has an error. In this case, if the device has a successfully-rendered version of the app in its cache, it will attempt to keep showing it. That old version can eventually be evicted from the device’s cache though.
Totally open to suggestions if you think that should work differently.
If you’re able to see errors in the app’s log though, seems like what might help is if we proactively notify you that there is an error without you having to check, via email or push notification. Is that something you’d find useful in this case?
Thanks for the quick reply! Yeah, there was an error here and I found that in the logs. I guess the issue is that I’m looking at the Tidbyt in the living room in consumer mode and I have to switch to dev mode to go open a terminal on the computer to see what’s up.
So the app will never show an error on the device unless I’ve coded error handling? If I do so, will the app always show on the device? If so, it’s on me.
But yeah, in the case of a paid private app subscription, configurable email notifications saying “app has failed x times” or “app has failed for 1 hour” would be perfect.
Yes that’s correct, the actual Tidbyt device will never show an error unless your app has some sort of error screen. If you handle errors and show them as an error screen, then the app will always show on the device.
I’ll see what we can do about email notifications, seems like that should be pretty straightforward!