-
-
Notifications
You must be signed in to change notification settings - Fork 825
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix fatal error on loading extension page when an extension has been deleted #16752
Conversation
…deleted Since we added the concept of 'hidden' tags we are loading them in a way where the exceptions are not caught. This means that the whole page cannot load - which is needed to disable the missing extension
(Standard links)
|
test this please |
So in theory lets say you deleted a payment processor extension would you not want that to be a hard fail but maybe that hard fails in other ways as well. Not opposed to this but would appreciate @totten comment on this |
@seamuslee001 the problem is it hard fails on the manage extensions page- so you can't disable it. I am sure a missing payment processor extension would hard fail lots of places TBH |
$this->keyToInfo($key); | ||
} | ||
catch (CRM_Extension_Exception_ParseException $e) { | ||
CRM_Core_Session::setStatus(ts('Parse error in extension: %1', [ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This error sounds a bit developer-y?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah - but it was already in use elsewhere - I just copied it up a level
Missing payment processors used to kill CiviCRM in lot's of horrible ways. As of about 2 years they haven't done... We shouldn't have any situations where a missing extension prevents access to admin pages related to extensions / status so I'm in favour of this PR, though I haven't fully reviewed or tested it! |
I guess my thinking was more along the lines of is the fact that we would be allowing the system work smoother are there any consequences of that practice. I don't think so but just thought worth verbalising that thinking. I agree with matt that the message seems to be bit developery but it is already there so at least we are being consistent. I'm going to merge this as the code looks correct to me and the unit tests cover a number of interactions with exts |
thanks @seamuslee001 |
Overview
Softens the scenario where an installed extension has been deleted, allowing the extensions page to still load
Before
After
Technical Details
Since we added the concept of 'hidden' tags we are loading them in a way where the exceptions are not caught. This means
that the whole page cannot load - which is needed to disable the missing extension
As the hidden tag / core extension concept was added in 5.24 I'm targetting 5.24
Comments
The messages are possibly a bit overkill but also not necessarily in a bad way