You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
I'm not sure about this. I've made it so that multiple occurrences at the same time are ignored.
But that's not what libical does (at least the ancient version that ships with Thunderbird). That gives every occurrence, even if it's the same as the previous one. In the first test case I added, the expected output would be:
2022-01-31T08:00:00
2022-01-31T08:00:00 <-- same as before
2022-02-28T08:00:00
2022-03-31T08:00:00
2022-03-31T08:00:00 <-- same as before
2022-04-30T08:00:00
2022-05-31T08:00:00
2022-05-31T08:00:00 <-- same as before
2022-06-30T08:00:00
The same behaviour can be replicated here easily, just by pulling out the "death by recursion" error completely.
Does anyone have insight into which is the right thing to do here?
Something else that occurred to me while looking at this: if the data isn't in order, e.g. BYMONTHDAY=3,1,2 then the occurrences will not be in chronological order, they'll be in the same order as the rule, e.g. 20221103, 20221101, 20221102. That may or may not be a problem in practice (I think Thunderbird always wants all occurrences in a range so the order doesn't matter) and libical does the same thing, but it doesn't seem right.
In the interests of fixing bad bugs, I might just remove the error in Thunderbird for now, since that produces the same behaviour as we got with libical.
In the interests of fixing bad bugs, I might just remove the error in Thunderbird for now, since that produces the same behaviour as we got with libical.
It's certainly an improvement to the current code, and I can't think of any other cases that might trigger the error. Let's ship it and find out what happens.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I'm not sure about this. I've made it so that multiple occurrences at the same time are ignored.
But that's not what libical does (at least the ancient version that ships with Thunderbird). That gives every occurrence, even if it's the same as the previous one. In the first test case I added, the expected output would be:
The same behaviour can be replicated here easily, just by pulling out the "death by recursion" error completely.
Does anyone have insight into which is the right thing to do here?