1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-09-22 10:18:48 +02:00
phorge-phorge/src/applications/config
epriestley 08126d3904 Improve top-level exception handling
Summary:
Fixes T6692. Addresses two main issues:

  - The write guard would sometimes not get disposed of on exception pathways, generating an unnecessary secondary error which was just a symptom of the original root error.
    - This was generally confusing and reduced the quality of reports we received because users would report the symptomatic error sometimes instead of the real error.
    - Instead, reflow the handling so that we always dispose of the write guard if we create one.
  - If we missed the Controller-level error page generation (normally, a nice page with full CSS, etc), we'd jump straight to Startup-level error page generation (very basic plain text).
    - A large class of errors occur too early or too late to be handled by Controller-level pages, but many of these errors are not fundamental, and the plain text page is excessively severe.
    - Provide a mid-level simple HTML error page for errors which can't get full CSS, but also aren't so fundamental that we have no recourse but plain text.

Test Plan:
Mid-level errors now produce an intentional-looking error page:

{F259885}

Verified that setup errors still render properly.

@chad, feel free to tweak the exception page -- I just did a rough pass on it. Like the setup error stuff, it doesn't have Celerity, so we can't use `{$colors}` and no other CSS will be loaded.

Reviewers: chad, btrahan

Reviewed By: btrahan

Subscribers: epriestley, chad

Maniphest Tasks: T6692

Differential Revision: https://secure.phabricator.com/D11126
2015-01-02 10:49:27 -08:00
..
application Settings History 2015-01-01 06:52:13 -08:00
check Rename PhabricatorSetupCheck subclasses for consistency 2015-01-02 15:27:58 +11:00
controller Rename PhabricatorSetupCheck subclasses for consistency 2015-01-02 15:27:58 +11:00
custom Update callsites of phutil_json_decode. 2014-06-21 00:39:37 +10:00
editor Allow bin/config to affect database configuration and migrate between local and database configuration 2014-10-08 16:15:05 -07:00
exception Apply some autofix linter rules 2014-09-10 06:55:05 +10:00
issue Add a configuration warning when memory_limit will limit file uploads 2014-09-04 12:48:34 -07:00
json Mask remaining config values, and implement set type 2013-01-16 15:06:07 -08:00
management Allow config get to work when db is not functional 2014-11-14 09:12:20 -08:00
option Improve pygments.enabled discussion 2014-12-29 16:15:48 -08:00
phid Rename PHIDType classes 2014-07-24 08:05:46 +10:00
query Rename PhabricatorApplication subclasses 2014-07-23 10:03:09 +10:00
response Improve top-level exception handling 2015-01-02 10:49:27 -08:00
schema Do a better job of handling spec errors during schema adjustment 2014-11-04 04:42:05 -08:00
storage remove unused FeedStory object in getTitleForFeed functions 2015-01-02 08:45:43 -08:00
view Rename PhabricatorSetupCheck subclasses for consistency 2015-01-02 15:27:58 +11:00