discourse/plugins/automation
Osama Sayegh 9ebf7c9c37
FIX: Preveint recurring automations from running before start_date (#26963)
Some combinations of start_date and frequency/interval values can cause a recurring automation rule to either trigger before its start_date or never trigger. Example repros:

- Configure a recurring automation with hourly recurrence and a start_date several days ahead. What this will do is make the automation start running hourly immediately even though the start_date is several days ahead.

-  Configure a recurring automation with a weekly recurrence and a start_date several weeks ahead. This will result in the automation never triggering even after the start_date.

These 2 scenarios share the same cause which is that the automation plugin doesn't use the start_date as the date for the first run and instead uses the frequency/interval values from the current time to calculate the first run date.

This PR fixes this bug by adding an explicit check for start_date and using it as the first run's date if it's ahead of the current time.
2024-05-10 11:45:23 +10:00
..
admin/assets/javascripts/admin DEV: Avoid using the old action helper (#26935) 2024-05-08 20:26:48 +02:00
app DEV: Convert some files to autoloading and various improvements (#26860) 2024-05-06 23:12:55 +03:00
assets/stylesheets/common DEV: allows fabricators to use faker (#26555) 2024-04-08 21:00:09 +02:00
config Update translations (#26903) 2024-05-07 09:31:46 -04:00
db/migrate FEATURE: Merge discourse-automation (#26432) 2024-04-03 18:20:43 +03:00
lib FIX: Preveint recurring automations from running before start_date (#26963) 2024-05-10 11:45:23 +10:00
spec FIX: Preveint recurring automations from running before start_date (#26963) 2024-05-10 11:45:23 +10:00
test/javascripts/integration/components DEV: allows fabricators to use faker (#26555) 2024-04-08 21:00:09 +02:00
plugin.rb DEV: Convert some files to autoloading and various improvements (#26860) 2024-05-06 23:12:55 +03:00