Skip to content

Optimize detection of endless rule iterations #581

Description

@phil-davis

#564 (comment)

There are cases when a rule specifies a combination that never happens in the calendar. If the RRuleIterator is being asked to generate some occurrences of the event, then it loops. We currently stop those by "brute force" - when the loop gets to 9999-12-31 we exit.

If we analyse the request, we should be able to detect request patterns that will never match any actual calendar dates, and return quickly with just the first date of the event and no recurrences. That would save looping through days/months/years all the way to 9999.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions