Show correct message why plugin was deactivated when it has a missing license #14378
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
… license
I was never able to reproduce this issue until I disabled development mode.
With the old code, when no valid license in the Marketplace was configured and development mode is disabled, it would show a message "Plugin XYZ could not be loaded" where it should have said "Plugin was not loaded because the license is missing".
This was regressed in https://github.com/matomo-org/matomo/blob/3.10.0-b1/core/Plugin/Manager.php#L1058-L1086 where we unloaded plugin when the license is missing, so that logic failed to determine that the plugin was activated. By looking at the config we can ensure to correctly detect if plugin is still activated or not and now shows correct message.
A test is not really easily possible to write as some logic is disabled for tests etc and might not be actually needed.