• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
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
13 Posts 2 Posters 280 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.
  • W Offline
    WallysWellies
    last edited by 20 days ago

    Hello all.

    I’m having some issues with Outlook calendar events in the default calendar app and I think I have narrowed it down to a daylight savings issue (bug?):

    3d07cf41-5b10-497b-b80c-872291a2ffd8-image.png

    As you can see above, the recurring rule is expiring the evening before the event so these events do not show in my calendar.

    I realise this is looking like a Microsoft issue but I wondered if anyone had encountered this before and knows how to fix it?

    One thing that appears to work is setting my timezone to UTC then re-saving the event which I guess I can do unless someone has a better idea… Doing this sets the “UNTIL” time to 00:00 on the day of the actual event.

    S 2 Replies Last reply 20 days ago Reply Quote 0
    • S Offline
      sdetweil @WallysWellies
      last edited by sdetweil 18 days ago 18 days ago

      @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 18 days ago Reply Quote 0
      • S Offline
        sdetweil @WallysWellies
        last edited by sdetweil 20 days ago 20 days ago

        @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 Offline
          sdetweil @WallysWellies
          last edited by 20 days ago

          @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 19 days ago Reply Quote 0
          • W Offline
            WallysWellies @sdetweil
            last edited by 19 days ago

            @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 19 days ago Reply Quote 0
            • S Offline
              sdetweil @WallysWellies
              last edited by 19 days ago

              @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 19 days ago Reply Quote 0
              • W Offline
                WallysWellies @sdetweil
                last edited by 19 days ago

                @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 18 days ago Reply Quote 1
                • S Offline
                  sdetweil @WallysWellies
                  last edited by sdetweil 18 days ago 18 days ago

                  @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 18 days ago Reply Quote 0
                  • W Offline
                    WallysWellies @sdetweil
                    last edited by 18 days ago

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

                    S 3 Replies Last reply 18 days ago Reply Quote 1
                    • S Offline
                      sdetweil @WallysWellies
                      last edited by 18 days ago

                      @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 Offline
                        sdetweil @WallysWellies
                        last edited by 18 days ago

                        @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 15 days ago
                        • 1
                        • 2
                        • 1 / 2
                        1 / 2
                        • First post
                          1/13
                          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