#1610 - Calendar block not correctly handling DST
| Identifier | #1610 |
|---|---|
| Issue type | Minor issue (breaks specific functionality) |
| Title | Calendar block not correctly handling DST |
| Status | Completed |
| Handling member | PDStig |
| Addon | calendar |
| Description | Composr: 9.0.12
Runs on: Linux Time Zone: America/New_York (Daylight Savings active) Recurrence: Always (When in Daylight Savings Time) Severity: Minor Priority: High (for an internet radio station) Domain: http://www.wrrj.org Module: Calendar (report is specifically on the block) Screenshot: http://url.wrrj.org/5 The calendar module is not properly handling Daylight Savings Time as indicated in the screenshot. Currently, I am in Daylight Savings Time. When I am not in Daylight Savings time, the calendar works fine. As you can see in the screenshot, whether or not the calendar module has the correct time is quite random. All events are set to GMT-5 America/New_York and do not have "adjust to member's timezone" enabled. The times that are indicated in a red circle are incorrect (they should be 1 hour earlier). The "Mo" end time circled in red should not be there and should be Sunday. The times marked with a green circle are correct. |
| Steps to reproduce | 1. Create a calendar event. 2. Set the event to the time zone of GMT-5 (Eastern Time) 3. Create a calendar block on the zone with the type "listing" and days shown equal to 2. 4. Clear cache. The problem still exists. |
| Additional information | ALL events are recurring. Morning Shine meditations is Daily. Words From the Heart past broadcast, Tibetan Singing Bowl Meditation, and Atmosphere Nature Meditation are weekly. Words From the Heart Evolution is every 2nd and 4th Sunday. Ahowan Caws is every 4th Sunday.
This issue seemed to have existed in 9.0.11 and marked as resolved. However as of 9.0.12, I'm still having this issue, and help would greatly be appreciated. |
| Funded? | No |
| Hotfixes | hotfix-1610, 2014-03-24 2pm.tar Only apply these hotfixes if you absolutely need them and cannot wait until the next release of Composr (releases are more reliable and strictly tested). We provide no guarantee that hotfixes will work; they may even break your site especially if a hotfix depends on another hotfix. Always make a site backup if you attempt to apply a hotfix. As of Composr version 11, the recommended way to apply a hotfix is by following the same steps as an upgrade:
For Composr version 10, manually extract the files (e.g., using 7-Zip) and overwrite files in your Composr installation that are older than the ones in the hotfix (check the file modification date/time). Skip hotfix files that do not exist in your installation. |
| Commits |


Comments
(Click to enlarge)
Recurring events with a time component may not compensate for a DST shift. E.g. an event started at 2PM, may shift to 3PM.
The "fast forward" code, designed to let a recurring event calculate itself into a future month window, extrapolating rather than looping through each recurrence, forgot to compensate for DST shift.
The DST shift detection had a bug which was using the wrong variable to track the change, missing it, or counting it multiple times, in different cases. Whether the bug caused an issue depended on exactly what kind of recurrence was set up.