MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    Issue with Outlook recurring events

    Scheduled Pinned Locked Moved Solved Troubleshooting
    15 Posts 2 Posters 2.2k Views 2 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S Do not disturb
      sdetweil @WallysWellies
      last edited by sdetweil

      @WallysWellies if the event is a full day event(DTSTART:VALUE=DATE) then the rrule until should also only be date

      also full day events are considered local timezone only

      i dont think the parser (not our code) validates that

      oh, then rrule processes it ( also not our code)

      we call rrule.between() to get the list of events that match the rule between a year ago and an year forward(by default)

      Sam

      How to add modules

      learning how to use browser developers window for css changes

      1 Reply Last reply Reply Quote 0
      • S Do not disturb
        sdetweil @WallysWellies
        last edited by

        @WallysWellies do you have that full VEVENT so i can look at its processing in both places as i work on both

        Sam

        How to add modules

        learning how to use browser developers window for css changes

        W 1 Reply Last reply Reply Quote 0
        • W Offline
          WallysWellies @sdetweil
          last edited by

          @sdetweil Here is a problematic event:

          BEGIN:VEVENT
          DESCRIPTION:\n
          RRULE:FREQ=YEARLY;UNTIL=20250504T230000Z;INTERVAL=1;BYMONTHDAY=5;BYMONTH=5
          UID:040000008200E00074C5B7101A82E00800000000DAEF6ED30D9FDA01000000000000000
           010000000D37F812F0777844A93E97B96AD2D278B
          SUMMARY:Person A's Birthday
          DTSTART;VALUE=DATE:20250505
          DTEND;VALUE=DATE:20250506
          CLASS:PUBLIC
          PRIORITY:5
          DTSTAMP:20250428T133000Z
          TRANSP:TRANSPARENT
          STATUS:CONFIRMED
          SEQUENCE:0
          LOCATION:
          X-MICROSOFT-CDO-APPT-SEQUENCE:0
          X-MICROSOFT-CDO-BUSYSTATUS:FREE
          X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY
          X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
          X-MICROSOFT-CDO-IMPORTANCE:1
          X-MICROSOFT-CDO-INSTTYPE:1
          X-MICROSOFT-DONOTFORWARDMEETING:FALSE
          X-MICROSOFT-DISALLOW-COUNTER:FALSE
          X-MICROSOFT-REQUESTEDATTENDANCEMODE:DEFAULT
          X-MICROSOFT-ISRESPONSEREQUESTED:FALSE
          END:VEVENT
          

          And here is a working event:

          BEGIN:VEVENT
          DESCRIPTION:\n
          RRULE:FREQ=YEARLY;UNTIL=20250503T000000Z;INTERVAL=1;BYMONTHDAY=3;BYMONTH=5
          UID:040000008200E00074C5B7101A82E00800000000591C9B3BAA0EDA01000000000000000
           01000000005E6F2F9D20F7947B69F54FBF0794A6D
          SUMMARY:Person B's Birthday
          DTSTART;VALUE=DATE:20250503
          DTEND;VALUE=DATE:20250504
          CLASS:PUBLIC
          PRIORITY:5
          DTSTAMP:20250428T133000Z
          TRANSP:TRANSPARENT
          STATUS:CONFIRMED
          SEQUENCE:0
          LOCATION:
          X-MICROSOFT-CDO-APPT-SEQUENCE:0
          X-MICROSOFT-CDO-BUSYSTATUS:FREE
          X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY
          X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
          X-MICROSOFT-CDO-IMPORTANCE:1
          X-MICROSOFT-CDO-INSTTYPE:1
          X-MICROSOFT-DONOTFORWARDMEETING:FALSE
          X-MICROSOFT-DISALLOW-COUNTER:FALSE
          X-MICROSOFT-REQUESTEDATTENDANCEMODE:DEFAULT
          X-MICROSOFT-ISRESPONSEREQUESTED:FALSE
          END:VEVENT
          

          Thanks for taking a look.

          S 1 Reply Last reply Reply Quote 0
          • S Do not disturb
            sdetweil @WallysWellies
            last edited by

            @WallysWellies thanks, forgot to ask what timezone you are in

            Sam

            How to add modules

            learning how to use browser developers window for css changes

            W 1 Reply Last reply Reply Quote 0
            • W Offline
              WallysWellies @sdetweil
              last edited by

              @sdetweil I’m in the UK. Since it’s British summer time I don’t know if that means I’m UTC+1 or something else… GMT, BST… Stupid changing clocks!

              S 1 Reply Last reply Reply Quote 1
              • S Do not disturb
                sdetweil @WallysWellies
                last edited by sdetweil

                @WallysWellies this fix sets the rrule:until to start of day+1 day for fullday events (tested in LA, Chicago, London and Sydney timezones)

                add three lines
                modules/default/calendarcalendarfetcherutils.js

                					event.start = rule.options.dtstart;  // old code line 294
                                                        // insert these three lines
                					if((rule.options.until != undefined) && CalendarFetcherUtils.isFullDayEvent(event)){
                						Log.debug("fixup rrule until")
                						rule.options.until = new Date(new Date(moment(rule.options.until).startOf("day").add(1,"day")).getTime())
                					}
                
                					Log.debug("fix rrule start=", rule.options.dtstart); // old code line 301

                Sam

                How to add modules

                learning how to use browser developers window for css changes

                W 1 Reply Last reply Reply Quote 0
                • W Offline
                  WallysWellies @sdetweil
                  last edited by

                  @sdetweil Thank you - that has fixed my upcoming calendar event 👍

                  S 3 Replies Last reply Reply Quote 1
                  • S Do not disturb
                    sdetweil @WallysWellies
                    last edited by

                    @WallysWellies cool, i will submit as a change for next release

                    Sam

                    How to add modules

                    learning how to use browser developers window for css changes

                    1 Reply Last reply Reply Quote 1
                    • S Do not disturb
                      sdetweil @WallysWellies
                      last edited by

                      @WallysWellies you will need to use my upgrade script and reply no to keeping the changed files
                      see https://github.com/sdetweil/MagicMirror_scripts

                      note upgrade is a two part process
                      test, do nothing (highlight exposed files, if any)
                      do upgrade

                      Sam

                      How to add modules

                      learning how to use browser developers window for css changes

                      1 Reply Last reply Reply Quote 1
                      • S sdetweil has marked this topic as solved on
                      • S Do not disturb
                        sdetweil @WallysWellies
                        last edited by

                        @WallysWellies I opened issue 3781
                        https://github.com/MagicMirrorOrg/MagicMirror/issues/3781
                        and pushed the fix and testcase for next release

                        Sam

                        How to add modules

                        learning how to use browser developers window for css changes

                        W 1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 1 / 2
                        • First post
                          Last post
                        Enjoying MagicMirror? Please consider a donation!
                        MagicMirror created by Michael Teeuw.
                        Forum managed by Sam, technical setup by Karsten.
                        This forum is using NodeBB as its core | Contributors
                        Contact | Privacy Policy