Page MenuHomePhabricator

Fix an issue where all-day events had durations applied incorrectly
ClosedPublic

Authored by epriestley on Nov 28 2016, 4:28 PM.
Tags
None
Referenced Files
F19661505: D16953.id.diff
Sat, Feb 7, 7:10 AM
F19582183: D16953.id.diff
Sun, Feb 1, 9:27 PM
F19554748: D16953.id40800.diff
Fri, Jan 30, 2:23 AM
F19554294: D16953.id40800.diff
Thu, Jan 29, 8:09 PM
F19534459: D16953.id.diff
Wed, Jan 21, 12:30 AM
F19520425: D16953.id.diff
Fri, Jan 16, 1:50 PM
F19516788: D16953.diff
Jan 15 2026, 3:55 AM
F18823830: D16953.id.diff
Oct 23 2025, 1:30 PM
Subscribers
None

Details

Summary

Ref T11816. User-visible bug here was that availability dots (away/busy) for all-day events might not appear correctly if the viewer timezone and event timezone differ.

Underlying issue was that when adding a duration (one day) to an all-day event datetime, we incorrectly used the viewer timezone as part of the calculation.

Instead, base the calculation on a clone of the event with no viewer timezone.

Test Plan
  • Added failing unit test, made it pass.
  • Saw proper availability dots for all-day events in Phabricator.

Diff Detail

Repository
rPHU libphutil
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

epriestley retitled this revision from to Fix an issue where all-day events had durations applied incorrectly.
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.Nov 28 2016, 4:30 PM
This revision was automatically updated to reflect the committed changes.