[wp-trac] [WordPress Trac] #44458: Catch WSODs and provide a means for recovery for end users

WordPress Trac noreply at wordpress.org
Sun Jul 8 16:57:30 UTC 2018


#44458: Catch WSODs and provide a means for recovery for end users
-------------------------------------------------+-------------------------
 Reporter:  schlessera                           |       Owner:  (none)
     Type:  task (blessed)                       |      Status:  new
 Priority:  normal                               |   Milestone:  5.0
Component:  Bootstrap/Load                       |     Version:
 Severity:  normal                               |  Resolution:
 Keywords:  has-patch needs-unit-tests needs-    |     Focuses:  multisite
  testing                                        |
-------------------------------------------------+-------------------------

Comment (by schlessera):

 > I can see this project becoming really big and complex for a single
 patch and commit. In order to maintain a good overview as well as easy
 workflow, I think it would be a good idea to move work on this over to a
 GitHub fork of WordPress. Then we can handle the respective integrations
 with themes, multisite and possibly MU plugins via separate branches/PRs.

 I'm not sure that is the case. I think right now, we cover already 60-70%
 of the needed code. Half of the multisite plugin stuff is already covered,
 and themes can mostly reuse the same code.

 > I would advise against this, for three reasons:
 > 1. MU plugins often contain very foundational functionality of a
 website.
 > 2. Someone who uses MU plugins usually has a little more technical
 knowledge than who the safe mode is most beneficial for.
 > 3. There is no way to manage MU plugins through the admin. Of course we
 could introduce a way to resume a MU plugin, but for the two previous
 reasons, I don't think it's worth the hassle.

 I'm not entirely sure these are valid reasons.

 1. Yes, but a parse error means they just take down the site either way.
 The importance of the plugin is irrelevant in that case.
 2. Sometimes MU plugins ar not installed by the site owner themselves, but
 by hosting or another plugin.
 3. This is the only argument that plays a role here I think. What's the
 point of making people enter th eplugin screen if they have no valid
 options. I wonder though (not tested yet) whether they could modify the MU
 plugin through the built in code editor...

 > For now, in my opinion we should try to focus on detecting in the most
 accurate way possible which plugin(s) or theme(s) are causing the error.
 An AJAX loop is what I thought about too.

 Yes, agree.

 > A general suggestion for improvement I have is that we should consider
 keeping the user in the backend when they are already there while
 something breaks. For example, if you're in the Plugins screen, resuming a
 plugin, and then it's still broken, it would be great if the user could
 automatically stay on that page, getting the feedback message there that
 it was paused again (instead of seeing the message like in the frontend
 and having to click a link). We could try to redirect the user to the page
 they're currently on after pausing the broken plugin(s) and theme(s), if
 that is already a logged-in admin page. Of course this only works under
 certain circumstances, if we know who the current user is and if we're
 still before output. This could very well happen a little later, when we
 improve the UX further.

 Yes, I had already thought about adding something like that. It could be
 similar to the Shiny Updates plugin, where it triggers a sandboxed request
 to see whether the plugin now works correctly again.

-- 
Ticket URL: <https://core.trac.wordpress.org/ticket/44458#comment:12>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list