Read the statement by Michael Teeuw here.
Missing calendar item for daily recurrence
-
npm install node-ical@0.16.1
-
Thanks @sdetweil
I just downgraded node-ical to 0.16.1 and that didn’t work either
-
@golfyankee yes, rrule has trouble with recurring with old entries. there is no fix at this time.
we don’t own or maintain node-ical, rrule,…
I put a fix in this release to strip out the null entries that were causing a crash.someone has recently submitted a pull request will some pretty significant changes to this part of the cal code. we haven’t had a chance to test it.
you can try it by doing
cd ~/MagicMirror git fetch origin pull/3342/head:test_calendar git checkout test_calendar
you can switch back w
git checkout master
-
@sdetweil Do you know what the specific problem is? I tried to recreate the daily recurrence starting from yesterday and it’s still displaying the first occurrence on Feb 1st.
Trying to figure out how to repair my calendar items to work around the rrule issues.
-
@golfyankee yes, the rrule library is broken, and has been broken in different spots for a while. ( I’ve been working on some of this for the last few years, most of the debug is mine)
for this release, we picked up a new version of the calendar parser (node ical) that shipped a new ‘fixed’ rrule… but it is worse.
when there is an rrule in a calendar event, our code calls rrule.between(), to get the set of occurrences between two dates, today, and a year from now based on the rules.
we got back junk before, and now sometimes we get a list of the correct number of events, but the date/time of some of those are empty.
I put a fix in this release to remove the empty entries because they caused the code to crash.
we never see the raw text of the ICS data, the parser converts the text to a js object
the parser doesn’t USE the rrule data. just converts it from text to a useable js object.
the parser correctly converted the text.
there is no replacement currently for the rrule library from someone else.
the older rrule and luxon work in local time.
the parser uses utc time.
the new rrule does not use luxon, and works in UTC time, so the hope was the date conversion problems would be gone.ps we are all volunteers here, Google, Apple, and others have dedicated staff and clearly have their own code for this.
add to this fun the daylight savings nightmare that is different in different geographies, AND different over the years in the US. rrule doesn’t know DST .
-
@sdetweil Could this also affect a calendar module setup for iCal that is now failing to show repeating events? I noticed that my MM calendar does not show any of the repeating events currently on our iCal. I have just started troubleshooting this, but I’ll stop if it’s a know issue.
-
@rrslssr ICal is another problem… we don’t process iCal directly… it MUST be ics form. (I don’t know how you get it there… or what the differences are)
node-ical processes to the ICAL format spec
-
@sdetweil Thanks for the response and looking into this.
I’m just trying to see if you already knew the problem or point me in the right direction of where to look so I can figure out a work around.
-
@golfyankee go back to the prior parser
cd ~/MagicMirror npm install node-ical@0.16.1
we know all about it, except the fix! lol
-
@sdetweil Just letting you know that this fix corrected my issue where my calendar module (setup for iCal) would not show repeating events. The repeating events are showing again. Thanks.