Go to file
Felix Arntz 1f3912e9bf Bootstrap/Load: Introduce a recovery mode for fixing fatal errors.
Using the new fatal handler introduced in [44962], an email is sent to the admin when a fatal error occurs. This email includes a secret link to enter recovery mode. When clicked, the link will be validated and on success a cookie will be placed on the client, enabling recovery mode for that user. This functionality is executed early before plugins and themes are loaded, in order to be unaffected by potential fatal errors these might be causing.

When in recovery mode, broken plugins and themes will be paused for that client, so that they are able to access the admin backend despite of these errors. They are notified about the broken extensions and the errors caused, and can then decide whether they would like to temporarily deactivate the extension or fix the problem and resume the extension.

A link in the admin bar allows the client to exit recovery mode.

Props timothyblynjacobs, afragen, flixos90, nerrad, miss_jwo, schlessera, spacedmonkey, swissspidy.
Fixes #46130, #44458.


git-svn-id: https://develop.svn.wordpress.org/trunk@44973 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-21 21:52:07 +00:00
src Bootstrap/Load: Introduce a recovery mode for fixing fatal errors. 2019-03-21 21:52:07 +00:00
tests Bootstrap/Load: Introduce a recovery mode for fixing fatal errors. 2019-03-21 21:52:07 +00:00
tools Block Editor: Update the WordPress Packages from Gutenberg 5.3 2019-03-21 12:46:11 +00:00
.editorconfig General: Instruct file editors not to trim trailing whitespace in markdown files. 2018-03-20 22:14:53 +00:00
.gitignore Build/Test Tools: Update `.gitignore` to exclude `twentynineteen` and `twentysixteen`. 2019-01-09 13:44:30 +00:00
.jshintrc Build tools: Fix the `travis:js` build. 2018-12-24 13:53:11 +00:00
.npmrc Once upon a midnight dreary, while I coded, weak and weary, 2018-05-23 10:04:22 +00:00
.nvmrc Once upon a midnight dreary, while I coded, weak and weary, 2018-05-23 10:04:22 +00:00
.travis.yml PHP: End official support for PHP5.2 -> 5.5 2019-03-20 22:03:07 +00:00
Gruntfile.js Build: Remove source map from `jquery.form.min.js`. 2019-02-14 00:06:39 +00:00
appveyor.yml Build Tools: Don't send AppVeyor notifications on Slack on repeated successful builds. 2019-01-15 05:48:46 +00:00
composer.json Build Tools: Upgrade WPCS to 2.0.0. 2019-01-18 02:14:24 +00:00
composer.lock Build Tools: Upgrade WPCS to 2.0.0. 2019-01-18 02:14:24 +00:00
jsdoc.conf.json Build Tools: Fix JSDoc configuration include paths. 2018-06-14 12:45:06 +00:00
package-lock.json Block Editor: Update the WordPress Packages from Gutenberg 5.3 2019-03-21 12:46:11 +00:00
package.json Block Editor: Update the WordPress Packages from Gutenberg 5.3 2019-03-21 12:46:11 +00:00
phpcs.xml.dist Coding Standards: exclude sodium_compat library. 2019-03-21 05:55:05 +00:00
phpunit.xml.dist Coding Standards: Replace spaced indentation sections of `phpunit.xml.dist`, `multisite.xml`, and `build.xml` with tabs. 2019-01-28 17:20:06 +00:00
webpack.config.js Build tools: Allow building WordPress to `src`. 2018-12-24 13:28:22 +00:00
wp-cli.yml Build/Tests: Default to running unit tests from `src`. 2019-01-09 10:09:02 +00:00
wp-config-sample.php General: Replace "Happy blogging" with "Happy publishing". 2019-01-08 04:29:06 +00:00
wp-tests-config-sample.php Tests: Revert [44509]. 2019-01-09 11:13:03 +00:00