Uploaded image for project: 'FreePBX'
  1. FreePBX
  2. FREEPBX-20736

Recurring calendar event not recognized by FreePBX, apparently related to Daylight Savings Time

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Not an issue
    • Affects Version/s: 14
    • Fix Version/s: None
    • Component/s: Calendar
    • Labels:
      None
    • ToDo:
    • Asterisk Version:
      13.27.1 and 16.4.1
    • Distro Version:
      14.0.13.6
    • Distro:
      FreePBX Distro

      Description

      We're using the calendar module with a remote caldav server and we experienced a problem on 11/4, the day after the time change in in America/New_York.

      We had several calendars which contained a RRULE with multiple days chosen, as such:
      BEGIN:VEVENT
      CREATED:20191016T202729Z
      DTSTAMP:20191016T202810Z
      LAST-MODIFIED:20191016T202810Z
      UID:WMU0R54EZASYQ1KI6YMPKF
      SUMMARY:Business Hours
      CLASS:PUBLIC
      STATUS:CONFIRMED
      DTSTART;TZID=America/New_York:20190930T080000
      DTEND;TZID=America/New_York:20190930T170000
      RRULE:FREQ=WEEKLY;BYDAY=TH,WE,TU,MO
      SEQUENCE:0
      END:VEVENT
       
      The output of fwconsole calendar --list --id uid omitted the event that should have been registered for 11/4, here's some sample output for that:
       
       

      Business Hours   America/New_York 2019-10-31T08:00:00 2019-10-31T17:00:00 WMU0R54EZASYQ1KI6YMPKF Yes No No
      Business Hours   America/New_York 2019-11-01T08:00:00 2019-11-01T12:00:00 G1ZUN2G4C24GDGWBNBTF1C Yes No No
      Business Hours   America/New_York 2019-11-05T08:00:00 2019-11-05T17:00:00 WMU0R54EZASYQ1KI6YMPKF Yes No Yes
      Business Hours   America/New_York 2019-11-06T08:00:00 2019-11-06T17:00:00 WMU0R54EZASYQ1KI6YMPKF Yes No No
      Business Hours   America/New_York 2019-11-07T08:00:00 2019-11-07T17:00:00 WMU0R54EZASYQ1KI6YMPKF Yes No No

       
      In troubleshooting the problem, we found ourselves looking at /var/www/html/admin/modules/calendar/vendor/om/icalparser/src/Freq.php, and focused on public function findNext.
       
      After enabling debugging ($debug = true), the output in fwconsole calendar list seems to indicate mishandling of the time change (please note the Not found message):
       
      O: Fri, 25 Oct 2019 08:00:00 -0400
      START: Fri, 25 Oct 2019 08:00:00 -0400
      EOP: Mon, 28 Oct 2019 08:00:00 -0400
      DAY: Mon, 28 Oct 2019 08:00:00 -0400 A: 0
      DAY: Tue, 29 Oct 2019 08:00:00 -0400 A: 0
      DAY: Wed, 30 Oct 2019 08:00:00 -0400 A: 0
      DAY: Thu, 31 Oct 2019 08:00:00 -0400 A: 0
      DAY: Fri, 01 Nov 2019 08:00:00 -0400 A: 0
      OK
      O: Mon, 28 Oct 2019 08:00:00 -0400
      START: Mon, 28 Oct 2019 08:00:00 -0400
      EOP: Mon, 04 Nov 2019 07:00:00 -0500
      DAY: Mon, 04 Nov 2019 08:00:00 -0500 A: 0
      DAY: Tue, 29 Oct 2019 08:00:00 -0400 A: 1
      DAY: Wed, 30 Oct 2019 08:00:00 -0400 A: 1
      DAY: Thu, 31 Oct 2019 08:00:00 -0400 A: 1
      DAY: Fri, 01 Nov 2019 08:00:00 -0400 A: 1
      OK
      O: Tue, 29 Oct 2019 08:00:00 -0400
      START: Tue, 29 Oct 2019 08:00:00 -0400
      EOP: Mon, 04 Nov 2019 07:00:00 -0500
      DAY: Mon, 04 Nov 2019 08:00:00 -0500 A: 0
      DAY: Tue, 05 Nov 2019 08:00:00 -0500 A: 0
      DAY: Wed, 30 Oct 2019 08:00:00 -0400 A: 1
      DAY: Thu, 31 Oct 2019 08:00:00 -0400 A: 1
      DAY: Fri, 01 Nov 2019 08:00:00 -0400 A: 1
      OK
      O: Wed, 30 Oct 2019 08:00:00 -0400
      START: Wed, 30 Oct 2019 08:00:00 -0400
      EOP: Mon, 04 Nov 2019 07:00:00 -0500
      DAY: Mon, 04 Nov 2019 08:00:00 -0500 A: 0
      DAY: Tue, 05 Nov 2019 08:00:00 -0500 A: 0
      DAY: Wed, 06 Nov 2019 08:00:00 -0500 A: 0
      DAY: Thu, 31 Oct 2019 08:00:00 -0400 A: 1
      DAY: Fri, 01 Nov 2019 08:00:00 -0400 A: 1
      OK
      O: Thu, 31 Oct 2019 08:00:00 -0400
      START: Thu, 31 Oct 2019 08:00:00 -0400
      EOP: Mon, 04 Nov 2019 07:00:00 -0500
      DAY: Mon, 04 Nov 2019 08:00:00 -0500 A: 0
      DAY: Tue, 05 Nov 2019 08:00:00 -0500 A: 0
      DAY: Wed, 06 Nov 2019 08:00:00 -0500 A: 0
      DAY: Thu, 07 Nov 2019 08:00:00 -0500 A: 0
      DAY: Fri, 01 Nov 2019 08:00:00 -0400 A: 1
      OK
      O: Fri, 01 Nov 2019 08:00:00 -0400
      START: Fri, 01 Nov 2019 08:00:00 -0400
      EOP: Mon, 04 Nov 2019 07:00:00 -0500
      DAY: Mon, 04 Nov 2019 08:00:00 -0500 A: 0
      DAY: Tue, 05 Nov 2019 08:00:00 -0500 A: 0
      DAY: Wed, 06 Nov 2019 08:00:00 -0500 A: 0
      DAY: Thu, 07 Nov 2019 08:00:00 -0500 A: 0
      DAY: Fri, 08 Nov 2019 08:00:00 -0500 A: 0
      Not found
      O: Mon, 04 Nov 2019 00:00:00 -0500
      START: Mon, 04 Nov 2019 08:00:00 -0500
      EOP: Mon, 11 Nov 2019 08:00:00 -0500
      DAY: Mon, 11 Nov 2019 08:00:00 -0500 A: 0
      DAY: Tue, 05 Nov 2019 08:00:00 -0500 A: 1
      DAY: Wed, 06 Nov 2019 08:00:00 -0500 A: 1
      DAY: Thu, 07 Nov 2019 08:00:00 -0500 A: 1
      DAY: Fri, 08 Nov 2019 08:00:00 -0500 A: 1
      OK
      O: Tue, 05 Nov 2019 08:00:00 -0500
      START: Tue, 05 Nov 2019 08:00:00 -0500
      EOP: Mon, 11 Nov 2019 08:00:00 -0500
      DAY: Mon, 11 Nov 2019 08:00:00 -0500 A: 0
      DAY: Tue, 12 Nov 2019 08:00:00 -0500 A: 0
      DAY: Wed, 06 Nov 2019 08:00:00 -0500 A: 1
      DAY: Thu, 07 Nov 2019 08:00:00 -0500 A: 1
      DAY: Fri, 08 Nov 2019 08:00:00 -0500 A: 1
       
       

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                markwiater mwiater
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  NextupJiraPlusStatus

                  Error rendering 'slack.nextup.jira:nextup-jira-plus-status'. Please contact your Jira administrators.