diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index c93daa37..3563f85e 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -4,13 +4,15 @@ Thanks for contributing to MagicMirror²! We hold our code to standard, and these standards are documented below. +## Linters + If you wish to run our linters, use `npm run lint` without any arguments. ### JavaScript: Run ESLint We use [ESLint](https://eslint.org) on our JavaScript files. -Our ESLint configuration is in our .eslintrc.json and .eslintignore files. +Our ESLint configuration is in our `.eslintrc.json` and `.eslintignore` files. To run ESLint, use `npm run lint:js`. @@ -20,7 +22,15 @@ We use [StyleLint](https://stylelint.io) to lint our CSS. Our configuration is i To run StyleLint, use `npm run lint:css`. -### Submitting Issues +## Testing + +We use [Jest](https://jestjs.io) for JavaScript testing. + +To run all tests, use `npm run test`. + +The specific test commands are defined in `package.json`. So you can also run the specific tests with other commands, e.g. `npm run test:unit` or `npx jest tests/e2e/env_spec.js`. + +## Submitting Issues Please only submit reproducible issues. diff --git a/CHANGELOG.md b/CHANGELOG.md index e3b09bbc..71a0edc4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -41,6 +41,7 @@ _This release is scheduled to be released on 2022-01-01._ - Fixed electron tests with retry. - Fixed Calendar recurring cross timezone error (add/subtract a day, not just offset hours) (#2632) - Fixed Calendar showEnd and Full Date overlay (#2629) +- Fixed regression on #2632, #2752 - Broadcast custom symbols in CALENDAR_EVENTS ## [2.17.1] - 2021-10-01 diff --git a/js/electron.js b/js/electron.js index 2c44ab02..509b5474 100644 --- a/js/electron.js +++ b/js/electron.js @@ -53,7 +53,7 @@ function createWindow() { // If config.address is not defined or is an empty string (listening on all interfaces), connect to localhost let prefix; - if (config["tls"] !== null && config["tls"]) { + if ((config["tls"] !== null && config["tls"]) || config.useHttps) { prefix = "https://"; } else { prefix = "http://"; @@ -140,6 +140,13 @@ app.on("before-quit", (event) => { process.exit(0); }); +/* handle errors from self signed certificates */ + +app.on("certificate-error", (event, webContents, url, error, certificate, callback) => { + event.preventDefault(); + callback(true); +}); + // Start the core application if server is run on localhost // This starts all node helpers and starts the webserver. if (["localhost", "127.0.0.1", "::1", "::ffff:127.0.0.1", undefined].includes(config.address)) { diff --git a/modules/default/calendar/calendarutils.js b/modules/default/calendar/calendarutils.js index 570a6e7e..a3bfaeab 100644 --- a/modules/default/calendar/calendarutils.js +++ b/modules/default/calendar/calendarutils.js @@ -332,15 +332,15 @@ const CalendarUtils = { Log.debug("Fullday"); // If the offset is negative (east of GMT), where the problem is if (dateoffset < 0) { - //if (dh <= Math.abs(dateoffset / 60)) { - // reduce the time by the offset - // Apply the correction to the date/time to get it UTC relative - date = new Date(date.getTime() - Math.abs(24 * 60) * 60000); - // the duration was calculated way back at the top before we could correct the start time.. - // fix it for this event entry - //duration = 24 * 60 * 60 * 1000; - Log.debug("new recurring date1 is " + date); - //} + if (dh < Math.abs(dateoffset / 60)) { + // reduce the time by the offset + // Apply the correction to the date/time to get it UTC relative + date = new Date(date.getTime() - Math.abs(24 * 60) * 60000); + // the duration was calculated way back at the top before we could correct the start time.. + // fix it for this event entry + //duration = 24 * 60 * 60 * 1000; + Log.debug("new recurring date1 fulldate is " + date); + } } else { // if the timezones are the same, correct date if needed //if (event.start.tz === moment.tz.guess()) { @@ -351,7 +351,7 @@ const CalendarUtils = { // the duration was calculated way back at the top before we could correct the start time.. // fix it for this event entry //duration = 24 * 60 * 60 * 1000; - Log.debug("new recurring date2 is " + date); + Log.debug("new recurring date2 fulldate is " + date); } //} }