discourse/plugins/automation/lib/discourse_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
..
scripts DEV: Convert some files to autoloading and various improvements (#26860) 2024-05-06 23:12:55 +03:00
triggers FIX: Preveint recurring automations from running before start_date (#26963) 2024-05-10 11:45:23 +10:00
engine.rb DEV: Convert some files to autoloading and various improvements (#26860) 2024-05-06 23:12:55 +03:00
event_handlers.rb FEATURE: Add 'New users only' option to user_updated trigger (#26648) 2024-04-16 21:13:11 +03:00
plugin_instance_extension.rb DEV: Convert some files to autoloading and various improvements (#26860) 2024-05-06 23:12:55 +03:00
post_extension.rb
scriptable.rb
scripts.rb
stalled_topic_finder.rb DEV: Convert some files to autoloading and various improvements (#26860) 2024-05-06 23:12:55 +03:00
triggerable.rb
triggers.rb