Steps to reproduce the issue
- Create an install script in line with Joomla documentation https://manual.joomla.org/docs/building-extensions/install-update/installation/install-process/
- Add the script to the manifest of your template
- Add two lines of code to the preflight function (line 1 and 4 below):
use Joomla\CMS\Log\Log;
public function preflight(string $type, InstallerAdapter $parent): bool
{
Log:add('preflight: ' . $type);
return true;
}
- Install your template, and set it to default (you can do that in postflight function or manually)
- Uninstall your template
Expected result
- The line 'preflight: uninstall' is written to the log file
- Joomla throws a warning: Template Uninstall: Can't remove default template
Actual result
- Joomla throws a warning: Template Uninstall: Can't remove default template
- The line 'preflight: uninstall' is NOT written to the log file
System information (as much as possible)
Additional comments
In the preflight function you should have the opportunity to set the cassiopeia template back to default, and then proceed with uninstall of your custom template. That way you avoid: Template Uninstall: Can't remove default template. That is how it worked on older versions of the install script. But now the uninstall aborts before preflight.