This allows to configure a special URL base for cron.
Cases here are dev environments, but also potentially intranet sites or anything else with an atypical network layout
[MAILPOET-4406]
Majority of scheduled tasks DB records are completed tasks.
We check completed tasks only for Migration worker task type.
Excluding other workers' completed tasks significantly speeds up the query
on sites with longer history. E.g. on mailpoet.com the query sped up from 0.6s to 0.003s.
[MAILPOET-4314]
By default checkRunInterval will always return true because there is no way
the time which has passed since the last run is smaller than -1. To prevent
unnecessary code execution and an not needed SQL insert, we can return true
in checkRunInterval() early.
[MAILPOET-4267]
We can't create mailer directly in DI container using the factory because it may fail in case
the plugin is not configured properly and prevent plugin from start.
The Mailer was previously injected because it contains lazy initialization.
The lazy initialization in the singleton Mailer service was dangerous,
because when used with some custom parameters it could cause that all services
that inject the Mailer from DI would use the custom config instead the default.
[MAILPOET-4115]
This commit makes some changes to the stats email. It displays just the
clicked stats in the first row and it moves the opened stats to the
second row. It also adds machine-opens alongside opens in the second
row.
[MAILPOET-3324]
PHPStan reported an error in PHP8.1. When we use
the annotation ReturnTypeWillChange it caused another error
for PHPStan in combination in PHP7.2. The new annotations
are solving those issues.
[MAILPOET-4053]