If the start time of an occurrence of a repeating event (except the first one) falls in the DST shift interval, the end time will be distorted to preserve the length of event. All instances after that one will be shifted because the wrong time interval will be incremented with days.
The proposed solution saves the end time of the first instance and sets it for every instance.
Moreover, for short events starting in the DST shift and ending right after it, it is possible that after rounding up the start time to be after the end time, so the instances are created only if the start time is before end time.
For instance, for a daily task starting at 3:30AM and ending at 4:15AM, in EET timezone, on Sun Mar 27 2016, 3:30AM will be interpreted as 4:30AM (due to the DST shift), which is after 4:15AM.
If the start time of an occurrence of a repeating event (except the first one) falls in the DST shift interval, the end time will be distorted to preserve the length of event. All instances after that one will be shifted because the wrong time interval will be incremented with days.
The proposed solution saves the end time of the first instance and sets it for every instance. Moreover, for short events starting in the DST shift and ending right after it, it is possible that after rounding up the start time to be after the end time, so the instances are created only if the start time is before end time.
For instance, for a daily task starting at 3:30AM and ending at 4:15AM, in EET timezone, on Sun Mar 27 2016, 3:30AM will be interpreted as 4:30AM (due to the DST shift), which is after 4:15AM.