Where’s this coming from?
Fatal Error Notify started as an internal tool on wpfusionplugin.com. We use the sales site to test beta releases of WP Fusion, and we wanted a notification to be sent if anything in our development releases affected the visitor experience.
In November of 2017, we ran a Black Friday promotion, and installed the Hustle — Pop-Ups plugin to announce the promotion. Shortly after setting it up, the site sent a notification that a fatal error had occurred during a submission of our support contact form.
The problem was that Hustle includes a class named CurlResponse as part of its Aweber integration (we weren’t using Aweber, but it was loading anyway), which conflicted with the same CurlResponse class in the Gravity Forms Helpscout plugin.
This prevented Gravity Forms from submitting. Bad!
Both Hustle and Gravity Forms Helpscout are made by very reputable developers (WPMU Dev and Rocketgenius respectively), but there’s no way they could have forseen this particular incompatibility.
If it weren’t for that notification, our contact and support forms would have been broken during one of the busiest weeks of the year, and it would have hurt business significantly. Thankfully we were able to quickly switch to a different popup plugin and didn’t have any more issues.
This and a couple of similar experiences made it clear that there was a real need for a solution that wasn’t being met. So we wrapped everything up into a plugin, added some additional options and tools, and here we are!
How is this different from uptime monitoring?
It’s a great idea to use an uptime monitoring service with your site. This will let you know if your host is down, if your site gets taken down by a DDoS attack, or if anything else takes your site completely offline.
But as long as your home page loads, your site is considered to be “up.”
There are many situations where your site may load fine, but specific components may be broken. This often manifests itself in forms that fail to submit, or checkout pages that spin forever and don’t process a transaction.
It may be something that even the most thorough testing can’t check, like someone selecting a billing country that fails to load the correct states / provinces. Fatal Error Notify is designed to catch these problems and alert you to them, so you can fix the problem with a minimal amount of time and effort.
How does it send notifications if the site has crashed?
Fatal Error Notify can send a notification even during a “500” error, when your whole site appears to be offline and you just get a blank page. It does this by running in what’s called a “shutdown function.” Shutdown functions are triggered by PHP right before the server stops generating a page.
If a fatal error happens during a page load, the page stops loading, but shutdown functions are still executed.
In our tests, there is no type of error that Fatal Error Notify can’t catch, including “Out Of Memory” errors. But if you find one, let us know!
Can it detect out of memory errors?
Yes, Fatal Error Notify Pro can still run when memory on your site is exhausted.
It does this by reserving a tiny bit of memory for its own use, which gets freed up before notifications are sent.
What features are coming?
We’re currently in beta but we have some really cool ideas we’re working on that will be included in subsequent releases.
- Update testing: when you install a plugin or theme update, we’ll first run it in a sandbox environment to see if it creates any major problems with your site. If it does, we’ll let you know what errors were triggered, and give you the option to cancel the update.
- Automatic rollback: For wordpress.org-hosted plugins, if an error is triggered, we’ll include an link in the error notifications to automatically roll back to a previous version.
- ErrorWire integration…
We’re glad you asked! This is where it gets really fun. There’s currently no way of testing compatibility between WordPress plugins and themes except by installing them on your site and seeing what happens. There’s also no way of telling if something that hasn’t been updated in years is still working, or if a plugin that doesn’t have many users has unaddressed problems.
We’re launching ErrorWire.com to solve these issues. Once it’s finished, we’ll prompt you to anonymously send error data to ErrorWire.com in addition to your configured notifications.
By compiling all of the errors received, what triggered them, and the environment in which they originated, we’ll be able to build an interactive database of all known issues and incompatibilities, where you can browse the data by plugin / theme, and version.
We’ll then make this data accessible in Fatal Error Notify to proactively warn before installing something that might compromise your site.
We’ll also be helping to make the entire WordPress development community more accountable by providing publicly accessible data on the quality and interoperability of plugins and themes. Cool, right?
Sign up to our mailing list at the bottom of this page or purchase a license to stay updated on our progress!