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
Unknown Object (File)
Wed, Apr 17, 5:24 AM
Unknown Object (File)
Mon, Apr 8, 9:43 AM
Unknown Object (File)
Sat, Mar 30, 4:35 PM
Unknown Object (File)
Mar 14 2024, 12:23 PM
Unknown Object (File)
Mar 12 2024, 11:24 AM
Unknown Object (File)
Mar 10 2024, 9:01 PM
Unknown Object (File)
Feb 21 2024, 7:38 PM
Unknown Object (File)
Feb 3 2024, 12:12 PM
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.