MagicMirrorOrg / MagicMirror

MagicMirror² is an open source modular smart mirror platform. With a growing list of installable modules, the MagicMirror² allows you to convert your hallway or bathroom mirror into your personal assistant.
http://magicmirror.builders
MIT License
19.81k stars 4.21k forks source link

PR 2881 extended calendar to receive notifications from other modules, but code in wrong place #3443

Open sdetweil opened 6 months ago

sdetweil commented 6 months ago

the pr 2881 (august 22)

added this code

    socketNotificationReceived (notification, payload) {

        if (notification === "FETCH_CALENDAR") {  
            this.sendSocketNotification(notification, { url: payload.url, id: this.identifier });
        }

BUT the module CANNOT receive SOCKET notifications except from our helper, which NEVER sends this

instead is should have been added to a NEW function . responsible for incoming notifications from OTHER modules

     notificationReceived (notification, payload, sender) {

        if (notification === "FETCH_CALENDAR") {  
            this.sendSocketNotification(notification, { url: payload.url, id: this.identifier });
        }
      },
github-actions[bot] commented 1 month ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

sdetweil commented 3 weeks ago

here is an updated test version of the fixes for all kinds of calendar date problems.

NOTE: the changed branch name NOTE: this used the node-cal@0.19.0 library UNCHANGED

best to make a new folder and git clone there

git clone https://github.com/sdetweil/MagicMirror cd MagicMirror git checkout fixcaldates2 // <------ note this is a changed branch name npm run install-mm copy your config.js and custom.css from the prior folder and the non-default modules you have installed…

this ONLY changes the default calendar but DOES ship an updated node-ical library too

if you need to fall back, just rename the folders around again so that your original is called MagicMirror

all the testcases for node-ical and MagicMirror execute successfully.

the ‘BIG’ change here is to get the local NON-TZ dates for the rrule.between()

all the checking and conversion code is commented out or not used the node-ical fixes are for excluded dates (exdate) values being adjusted for DST/STD time… waiting to submit that PR

one fix in calendar.js for checking if a past date was too far back, but it never checked to see IF the event date was in the past… (before today) so it chopped off too many

and one change in calendarfetcher.js to put out a better diagnostic message of the parsed data… (exdate was excluded cause JSON stringify couldn’t convert the complex structure)

I added the tests you all have documented

please re-pull and checkout the new branch (I deleted the old branch) and npm run install-mm again