@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Multi-day events should be correctly calculated for new js layout

Summary: Fixes T8304, Multi-day events should be correctly calculated for new js layout

Test Plan: A day with events starting before midnight of the displayed day should be correctly placed and fitted for day view.

Reviewers: epriestley, #blessed_reviewers

Reviewed By: epriestley, #blessed_reviewers

Subscribers: Korvin, epriestley

Maniphest Tasks: T8304

Differential Revision: https://secure.phabricator.com/D13008

+16 -2
+6
src/infrastructure/time/PhabricatorTime.php
··· 72 72 return $today; 73 73 } 74 74 75 + public static function getDateTimeFromEpoch($epoch, PhabricatorUser $viewer) { 76 + $datetime = new DateTime('@'.$epoch); 77 + $datetime->setTimeZone($viewer->getTimeZone()); 78 + return $datetime; 79 + } 80 + 75 81 }
+10 -2
src/view/phui/calendar/PHUICalendarDayView.php
··· 103 103 $event->getEpochEnd() > $day_start_epoch) { 104 104 105 105 if ($first_event_hour === null) { 106 - $first_event_hour = new DateTime('@'.$event->getEpochStart()); 107 - $first_event_hour->setTimeZone($viewer->getTimeZone()); 106 + $first_event_hour = PhabricatorTime::getDateTimeFromEpoch( 107 + $event->getEpochStart(), 108 + $viewer); 109 + 110 + $midnight = $this->getDateTime()->setTime(0, 0, 0); 111 + 112 + if ($first_event_hour->format('U') < $midnight->format('U')) { 113 + $first_event_hour = clone $midnight; 114 + } 115 + 108 116 $eight_am = $this->getDateTime()->setTime(8, 0, 0); 109 117 if ($eight_am->format('U') < $first_event_hour->format('U')) { 110 118 $first_event_hour = clone $eight_am;