From cb8fa4e1f44eb0916bc131ebe38fc75f0980733e Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 3 Mar 2024 13:45:05 +0100 Subject: [PATCH] Fix https://github.com/firefly-iii/firefly-iii/issues/8616 --- app/Repositories/Recurring/RecurringRepository.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/app/Repositories/Recurring/RecurringRepository.php b/app/Repositories/Recurring/RecurringRepository.php index efd4f9eaa3..a22f2f6f3b 100644 --- a/app/Repositories/Recurring/RecurringRepository.php +++ b/app/Repositories/Recurring/RecurringRepository.php @@ -375,6 +375,12 @@ class RecurringRepository implements RecurringRepositoryInterface app('log')->debug('Now in getXOccurrencesSince()'); $skipMod = $repetition->repetition_skip + 1; $occurrences = []; + + // to fix #8616, take a few days from both dates, then filter the list to make sure no entries + // from today or before are saved. + $date->subDays(4); + $afterDate->subDays(4); + if ('daily' === $repetition->repetition_type) { $occurrences = $this->getXDailyOccurrencesSince($date, $afterDate, $count, $skipMod); } @@ -407,7 +413,7 @@ class RecurringRepository implements RecurringRepositoryInterface } $filtered = []; foreach ($occurrences as $date) { - if ($date->lte($max)) { + if ($date->lte($max) && $date->gt(today())) { $filtered[] = $date; } }