Page MenuHomePhabricator

Fix a TERRIBLE RRULE issue with INTERVAL interacting with ALL OTHER RULES and also MANY INTERESTING SPELLINGS OF THE WORD DYNAMIC
ClosedPublic

Authored by epriestley on Sep 29 2016, 6:17 PM.
Tags
None
Referenced Files
F13134692: D16628.diff
Thu, May 2, 4:35 AM
Unknown Object (File)
Fri, Apr 26, 2:21 AM
Unknown Object (File)
Fri, Apr 26, 2:21 AM
Unknown Object (File)
Fri, Apr 26, 2:20 AM
Unknown Object (File)
Thu, Apr 25, 1:22 AM
Unknown Object (File)
Fri, Apr 19, 5:23 PM
Unknown Object (File)
Wed, Apr 17, 5:24 AM
Unknown Object (File)
Mon, Apr 8, 9:43 AM
Subscribers
None

Details

Summary

Ref T10747. When an RRULE is something like "every 233rd hour on thursdays that are the 7th of the month in odd months", we must iterate.

Specifically, the hours that aren't included in the rest of the set still count: this rule does not mean "every 223rd hour on (...)", it means "every 223rd hour, if that hour also satisifies all the rest of the conditions".

This is exceptionally rare/bizarre/useless, but make the tests pass.

Normally, (with INTERVAL=1) we know we'll hit every value and can just skip this.

Test Plan

Unit tests now pass.

Diff Detail

Repository
rPHU libphutil
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

epriestley retitled this revision from to Fix a TERRIBLE RRULE issue with INTERVAL interacting with ALL OTHER RULES and also MANY INTERESTING SPELLINGS OF THE WORD DYNAMIC.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: chad.
chad edited edge metadata.
This revision is now accepted and ready to land.Sep 29 2016, 6:26 PM
This revision was automatically updated to reflect the committed changes.