Sorry this happened. It was a pretty simple bug in a recent update to our API server code. I’m working on adding monitoring for this kind of thing so that we can detect and fix things proactively.
Yeah, that makes sense. The way this bug worked, trying to render anything that was pushed via the API would cause the server process to crash. It looks like we started having a few crashes on Thursday, and then over the past 48 hours they built up to a critical amount where everything just fell over.
The image I pushed was from dummyimage.com since we cannot push text via the api yet. I wonder if the image was malformed and then the api didn’t know how to handle it (unhandled exception type fashion)
Thanks for improving the backend after encountering this bug, makes a better solution for everyone!
So at first it would only affect anyone who was using the API. Pushing anything from the API was causing a crash while processing all the apps to be displayed for that device. This is regardless of what was pushed, so it wouldn’t have mattered whether the image was proper or malformed.
After a crash like this, our infrastructure would automatically restart the process and then it would keep chugging along, mostly working for everyone. But once enough of these crashes occurred, our infrastructure assumed something was very broken and entered a cool-down period before automatically restarting anything. This affected everyone’s device to some extent.
That is both a configuration issue and also an architectural issue we need to fix — an error for some devices shouldn’t have leaked into causing issues for other devices, but it did.
Lastly, totally hear you on the limited API features! We have something in progress to be able to push more structured and complex data to the API and have it be rendered nicely. Soon…
Exciting Rohan! Can’t wait to see more developments in this area. I use iOS shortcuts to utilize the api very much so it can be even more useful as more methods come out.
Appreciate the explanations as usual, thanks for the quick support.