Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 2.27.0 #3410

Merged
merged 54 commits into from
Apr 1, 2024
Merged

Release 2.27.0 #3410

merged 54 commits into from
Apr 1, 2024

Conversation

rejas
Copy link
Collaborator

@rejas rejas commented Apr 1, 2024

[2.27.0] - 2024-04-01

Thanks to: @bugsounet, @crazyscot, @illimarkangur, @jkriegshauser, @khassel, @KristjanESPERANTO, @Paranoid93, @rejas, @sdetweil and @vppencilsharpener.

This release marks the first release without Michael Teeuw (@MichMich). A very special thanks to him for creating MagicMirror and leading the project for so many years.

For more info, please read the following post: A New Chapter for MagicMirror: The Community Takes the Lead.

Added

Updated

Fixed

Deleted

MichMich and others added 30 commits January 1, 2024 15:43
Bumps [moment-timezone](https://github.com/moment/moment-timezone) from
0.5.43 to 0.5.44.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/moment/moment-timezone/releases">moment-timezone's
releases</a>.</em></p>
<blockquote>
<h2>Release 0.5.44</h2>
<ul>
<li>Updated data to IANA TZDB <code>2023d</code>.</li>
<li>Fixed <code>.valueOf()</code> to return <code>NaN</code> for invalid
zoned objects (matching default <code>moment</code>) <a
href="https://redirect.github.com/moment/moment-timezone/pull/1082">#1082</a>.</li>
<li>Performance improvements:
<ul>
<li>Use binary search when looking up zone information <a
href="https://redirect.github.com/moment/moment-timezone/pull/720">#720</a>.</li>
<li>Avoid redundant checks in <code>tz.guess()</code>.</li>
<li>Avoid redundant <code>getZone()</code> calls in
<code>.tz()</code>.</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/moment/moment-timezone/blob/develop/changelog.md">moment-timezone's
changelog</a>.</em></p>
<blockquote>
<h3><code>0.5.44</code> <em>2023-12-29</em></h3>
<ul>
<li>Updated data to IANA TZDB <code>2023d</code>.</li>
<li>Fixed <code>.valueOf()</code> to return <code>NaN</code> for invalid
zoned objects (matching default <code>moment</code>) <a
href="https://redirect.github.com/moment/moment-timezone/pull/1082">#1082</a>.</li>
<li>Performance improvements:
<ul>
<li>Use binary search when looking up zone information <a
href="https://redirect.github.com/moment/moment-timezone/pull/720">#720</a>.</li>
<li>Avoid redundant checks in <code>tz.guess()</code>.</li>
<li>Avoid redundant <code>getZone()</code> calls in
<code>.tz()</code>.</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/moment/moment-timezone/commit/25f19b6190634fdea9189039f94c639cfbd06e54"><code>25f19b6</code></a>
Build moment-timezone 0.5.44</li>
<li><a
href="https://github.com/moment/moment-timezone/commit/4734cb2515ad2790b4a8fca14570a236eb358c59"><code>4734cb2</code></a>
Bump version to 0.5.44</li>
<li><a
href="https://github.com/moment/moment-timezone/commit/585fabfcbdc02bd8ca35709d95d689fa422b47cb"><code>585fabf</code></a>
Merge pull request <a
href="https://redirect.github.com/moment/moment-timezone/issues/1085">#1085</a>
from moment/data/2023d</li>
<li><a
href="https://github.com/moment/moment-timezone/commit/ece926a59f53c72b51e8250ef97393900c0b7227"><code>ece926a</code></a>
Add test for valueOf behaviour with invalid moments (<a
href="https://redirect.github.com/moment/moment-timezone/issues/1075">#1075</a>)</li>
<li><a
href="https://github.com/moment/moment-timezone/commit/341beac0fb2c1c50fc4d3aa20f6a788d2b724a5a"><code>341beac</code></a>
Ensure valueOf returns NaN for invalid instances (<a
href="https://redirect.github.com/moment/moment-timezone/issues/1082">#1082</a>)</li>
<li><a
href="https://github.com/moment/moment-timezone/commit/69d856d5aa56a7c35df73920a15f91b5a1eb2778"><code>69d856d</code></a>
data: Add 2023d</li>
<li><a
href="https://github.com/moment/moment-timezone/commit/dc53e6cdecd6c2a9d85f4635c407366f76a8d4c8"><code>dc53e6c</code></a>
build(deps): bump <code>@​babel/traverse</code> (<a
href="https://redirect.github.com/moment/moment-timezone/issues/1076">#1076</a>)</li>
<li><a
href="https://github.com/moment/moment-timezone/commit/dffed7a8a9936e5be023ca76d389c258f1746dcd"><code>dffed7a</code></a>
perf: Reduce unnecessary getZone() calls in moment.tz()</li>
<li><a
href="https://github.com/moment/moment-timezone/commit/f7d8fc2d42a832b390c3f770ec5d52b4803a1a14"><code>f7d8fc2</code></a>
docs: Add note about maintenance mode in contributing guide</li>
<li><a
href="https://github.com/moment/moment-timezone/commit/4b1419b51f9625391f8391eaa515e2f9e5a1af16"><code>4b1419b</code></a>
docs: Update contributing guide to reflect the latest data process</li>
<li>Additional commits viewable in <a
href="https://github.com/moment/moment-timezone/compare/0.5.43...0.5.44">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=moment-timezone&package-manager=npm_and_yarn&previous-version=0.5.43&new-version=0.5.44)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps
[eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from
46.9.1 to 47.0.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/gajus/eslint-plugin-jsdoc/releases">eslint-plugin-jsdoc's
releases</a>.</em></p>
<blockquote>
<h2>v47.0.2</h2>
<h2><a
href="https://github.com/gajus/eslint-plugin-jsdoc/compare/v47.0.1...v47.0.2">47.0.2</a>
(2024-01-01)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>TS:</strong> use flat config; fixes <a
href="https://redirect.github.com/gajus/eslint-plugin-jsdoc/issues/1130">#1130</a>
(<a
href="https://github.com/gajus/eslint-plugin-jsdoc/commit/3677e43322f74a22d2a91a60ebed5f367e6461af">3677e43</a>)</li>
</ul>
<h2>v47.0.1</h2>
<h2><a
href="https://github.com/gajus/eslint-plugin-jsdoc/compare/v47.0.0...v47.0.1">47.0.1</a>
(2023-12-31)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>TS:</strong> make configs explicit (<a
href="https://github.com/gajus/eslint-plugin-jsdoc/commit/47f316160d0ac55b8b5c0b0239b703b44bc383c0">47f3161</a>)</li>
</ul>
<h2>v47.0.0</h2>
<h1><a
href="https://github.com/gajus/eslint-plugin-jsdoc/compare/v46.10.1...v47.0.0">47.0.0</a>
(2023-12-31)</h1>
<h3>Features</h3>
<ul>
<li>expose TS types for index file; fixes <a
href="https://redirect.github.com/gajus/eslint-plugin-jsdoc/issues/1130">#1130</a>
(<a
href="https://github.com/gajus/eslint-plugin-jsdoc/commit/dd9e71daa223ff04e508b8abc4692de3172bc7b0">dd9e71d</a>)</li>
</ul>
<h3>BREAKING CHANGES</h3>
<ul>
<li>Adds types</li>
</ul>
<h2>v46.10.1</h2>
<h2><a
href="https://github.com/gajus/eslint-plugin-jsdoc/compare/v46.10.0...v46.10.1">46.10.1</a>
(2023-12-30)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>revert change to engines for now (<a
href="https://github.com/gajus/eslint-plugin-jsdoc/commit/5e6280ffd4ed57ab83a6cfff259febce847e8545">5e6280f</a>)</li>
</ul>
<h2>v46.10.0</h2>
<h1><a
href="https://github.com/gajus/eslint-plugin-jsdoc/compare/v46.9.1...v46.10.0">46.10.0</a>
(2023-12-30)</h1>
<h3>Features</h3>
<ul>
<li>support ESLint 9 (<a
href="https://github.com/gajus/eslint-plugin-jsdoc/commit/eec9d9532b58a528b7e204f74f23b3d0c46ea329">eec9d95</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/gajus/eslint-plugin-jsdoc/commit/3677e43322f74a22d2a91a60ebed5f367e6461af"><code>3677e43</code></a>
fix(TS): use flat config; fixes <a
href="https://redirect.github.com/gajus/eslint-plugin-jsdoc/issues/1130">#1130</a></li>
<li><a
href="https://github.com/gajus/eslint-plugin-jsdoc/commit/5f61575951d9f5e794afd9c9977dc35298509698"><code>5f61575</code></a>
chore(lint): handle disable directives in config</li>
<li><a
href="https://github.com/gajus/eslint-plugin-jsdoc/commit/47f316160d0ac55b8b5c0b0239b703b44bc383c0"><code>47f3161</code></a>
fix(TS): make configs explicit</li>
<li><a
href="https://github.com/gajus/eslint-plugin-jsdoc/commit/dd9e71daa223ff04e508b8abc4692de3172bc7b0"><code>dd9e71d</code></a>
feat: expose TS types for index file; fixes <a
href="https://redirect.github.com/gajus/eslint-plugin-jsdoc/issues/1130">#1130</a></li>
<li><a
href="https://github.com/gajus/eslint-plugin-jsdoc/commit/eb3f4b47e1bf4c4527e06961621eadb701e2ae72"><code>eb3f4b4</code></a>
chore(linting): add ignores properly and disable directives for now</li>
<li><a
href="https://github.com/gajus/eslint-plugin-jsdoc/commit/5e6280ffd4ed57ab83a6cfff259febce847e8545"><code>5e6280f</code></a>
fix: revert change to engines for now</li>
<li><a
href="https://github.com/gajus/eslint-plugin-jsdoc/commit/eec9d9532b58a528b7e204f74f23b3d0c46ea329"><code>eec9d95</code></a>
feat: support ESLint 9</li>
<li><a
href="https://github.com/gajus/eslint-plugin-jsdoc/commit/5c4ccb9752c70bde1ca3a800370d146c757b71c9"><code>5c4ccb9</code></a>
chore: update devDeps.</li>
<li>See full diff in <a
href="https://github.com/gajus/eslint-plugin-jsdoc/compare/v46.9.1...v47.0.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=eslint-plugin-jsdoc&package-manager=npm_and_yarn&previous-version=46.9.1&new-version=47.0.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This is a first attempt to bring additional system information into the
console (see #3328). It's certainly not yet perfect, but with the PR we
have a better basis for discussion.

I tried to keep the output small so that we get as much information as
possible in screenshots.

This is how it looks on my development system.

```bash
[03.01.2024 00:50.19.226] [INFO] System information:
 ### SYSTEM:   manufacturer: Notebook; model: N650DU; raspberry: undefined; virtual: false
 ### OS:       platform: linux; distro: Debian GNU/Linux; release: 12
 ### VERSIONS: MagicMirror: 2.27.0-develop; electron: 27.2.0; kernel: 5.10.0-20-amd64; node: 21.1.0; npm: 10.2.4; pm2: 5.3.0; docker: 20.10.24+dfsg1
 ```
 
 Why is it still a draft:
- [x] I have doubts that utils.js is the right place for the function. What do you think?
=> Update: As long as there is no better idea, it stays there.
- [x] Instead of working through all wishes you expressed in the issue #3328, I only implemented what was easy to achieve. And wanted to hear what you think about this approach.
=> Update: Some added. Of course, more information could be added later, as soon as experience has been gained in productive use.
- [x] I don't quite like the introductory line ("The following lines provide information..."). Should I perhaps simply replace it with "System information:"?
=> Update: Changed to "System information:"
 
 [Here](https://github.com/sebhildebrandt/systeminformation#function-reference-and-os-support) you can see what information we could easily add with the systeminformation package.
 
 It would be interesting how the raspberry field is filled on a raspi system and with docker there should be another line, but I can't easily test that now.
- Add ELECTRON_ENABLE_GPU
- Remove docker version
- Differentiation between installed and used node version
- Highlight "Ready to go!" for server mode (Since we display system
information in the console, it is easy to overlook this important line.)

## Electron mode

### Before

```bash
[07.01.2024 16:37.30.591] [INFO]  System information:
 ### SYSTEM:   manufacturer: Notebook; model: N650DU; raspberry: undefined; virtual: false
 ### OS:       platform: linux; distro: Debian GNU/Linux; release: 12; arch: x64; kernel: 5.10.0-20-amd64
 ### VERSIONS: electron: 27.2.0; node: 18.17.1; npm: 10.2.4; pm2: 5.3.0; docker: 20.10.24+dfsg1
 ### OTHER:    timeZone: Europe/Berlin
```

### After

```bash
[07.01.2024 16:39.04.736] [INFO]  System information:
### SYSTEM:   manufacturer: Notebook; model: N650DU; raspberry: undefined; virtual: false
### OS:       platform: linux; distro: Debian GNU/Linux; release: 12; arch: x64; kernel: 5.10.0-20-amd64
### VERSIONS: electron: 27.2.0; used node: 18.17.1; installed node: 21.1.0; npm: 10.2.4; pm2: 5.3.0
### OTHER:    timeZone: Europe/Berlin; ELECTRON_ENABLE_GPU: undefined
```

## server mode

### Before

```bash
[07.01.2024 16:36.49.106] [LOG]   
Ready to go! Please point your browser to: http://localhost:8080
[07.01.2024 16:36.49.287] [INFO]  System information:
 ### SYSTEM:   manufacturer: Notebook; model: N650DU; raspberry: undefined; virtual: false
 ### OS:       platform: linux; distro: Debian GNU/Linux; release: 12; arch: x64; kernel: 5.10.0-20-amd64
 ### VERSIONS: electron: undefined; node: 21.1.0; npm: 10.2.4; pm2: 5.3.0; docker: 20.10.24+dfsg1
 ### OTHER:    timeZone: Europe/Berlin
```

### After

```bash
[2024-01-07 16:33:53.804] [INFO]  
>>>   Ready to go! Please point your browser to: http://localhost:8080   <<< 
[2024-01-07 16:33:53.997] [INFO]  System information:
### SYSTEM:   manufacturer: Notebook; model: N650DU; raspberry: undefined; virtual: false
### OS:       platform: linux; distro: Debian GNU/Linux; release: 12; arch: x64; kernel: 5.10.0-20-amd64
### VERSIONS: electron: undefined; used node: 21.1.0; installed node: 21.1.0; npm: 10.2.4; pm2: 5.3.0
### OTHER:    timeZone: Europe/Berlin; ELECTRON_ENABLE_GPU: undefined 
```
It is basically a cosmetic thing, but has the following advantages:

1. Consistency with the official node documentation. The prefix is used
there.
2. It is easier to recognize the build-in modules.
Removing lodash dependency by replacing merge by spread operator.

I have also split the return into two variables to make it easier to
understand what is happening.
…r 1 active news items (#3336)

When the newsfeed module has an items list of size 1, every
`updateInterval` the animation runs to transition from the active story
to itself. This is unsightly. This PR suppresses that.

To reproduce: configure newsfeed with a single news source,
`ignoreOldItems` true, a short `updateInterval` (e.g. 3000), and a
carefully-chosen small `ignoreOlderThan` lining up with the current
contents of your news source.
by excluding them from global error handling, see discussions in
#3337
Hopefully this solves the problem with arm64 (reported in PR #3337).
- Replacing old package `colors` by drop-in replacement `ansis`
- Rework `console-stamp` config to show all Log outputs in same color
(errors = red, warnings = yellow, debug = blue background (only for the
label), info = blue)
- This also fixes `npm run config:check` (broken since
6097547)

Feel free to let me know if the PR is too big and you want me to do
individual PRs for the changes.

Before:

![before](https://github.com/MagicMirrorOrg/MagicMirror/assets/35647502/88e48ec3-102c-40f3-9e9b-5d14fe446a43)

After:

![after](https://github.com/MagicMirrorOrg/MagicMirror/assets/35647502/4c8c4bad-08c9-46a3-92c9-14b996c13a7d)

---------

Co-authored-by: Veeck <[email protected]>
For experimenting, I sometimes work with different CSS files. I can
imagine that others do this too.

This setting for the css folder corresponds to the setting we already
have for the config folder.
It appears that #3336 introduced a bug where a newsfeed with >1 items
would stop updating after a while (usually after `activeItem` wraps
around the end of the list). Sorry! My bad, I hadn't tested that case
well enough.
where logLevel is not set because config is not loaded at this time, see
#3353
Bumps
[follow-redirects](https://github.com/follow-redirects/follow-redirects)
from 1.15.3 to 1.15.5.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/follow-redirects/follow-redirects/commit/b1677ce00110ee50dc5da576751d39b281fc4944"><code>b1677ce</code></a>
Release version 1.15.5 of the npm package.</li>
<li><a
href="https://github.com/follow-redirects/follow-redirects/commit/d8914f7982403ea096b39bd594a00ee9d3b7e224"><code>d8914f7</code></a>
Preserve fragment in responseUrl.</li>
<li><a
href="https://github.com/follow-redirects/follow-redirects/commit/65858205e59f1e23c9bf173348a7a7cbb8ac47f5"><code>6585820</code></a>
Release version 1.15.4 of the npm package.</li>
<li><a
href="https://github.com/follow-redirects/follow-redirects/commit/7a6567e16dfa9ad18a70bfe91784c28653fbf19d"><code>7a6567e</code></a>
Disallow bracketed hostnames.</li>
<li><a
href="https://github.com/follow-redirects/follow-redirects/commit/05629af696588b90d64e738bc2e809a97a5f92fc"><code>05629af</code></a>
Prefer native URL instead of deprecated url.parse.</li>
<li><a
href="https://github.com/follow-redirects/follow-redirects/commit/1cba8e85fa73f563a439fe460cf028688e4358df"><code>1cba8e8</code></a>
Prefer native URL instead of legacy url.resolve.</li>
<li><a
href="https://github.com/follow-redirects/follow-redirects/commit/72bc2a4229bc18dc9fbd57c60579713e6264cb92"><code>72bc2a4</code></a>
Simplify _processResponse error handling.</li>
<li><a
href="https://github.com/follow-redirects/follow-redirects/commit/3d42aecdca39b144a0a2f27ea134b4cf67dd796a"><code>3d42aec</code></a>
Add bracket tests.</li>
<li><a
href="https://github.com/follow-redirects/follow-redirects/commit/bcbb096b32686ecad6cd34235358ed6f2217d4f0"><code>bcbb096</code></a>
Do not directly set Error properties.</li>
<li>See full diff in <a
href="https://github.com/follow-redirects/follow-redirects/compare/v1.15.3...v1.15.5">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=follow-redirects&package-manager=npm_and_yarn&previous-version=1.15.3&new-version=1.15.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/MagicMirrorOrg/MagicMirror/network/alerts).

</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
#3332)

#3285

Because there is so many conflit with package,
I have rewrite the code with v2.27.0-develop

For remember:

 * recode: `update_helper.js` with `pm2` library
 * fix: default config -> `updates` is a array
 * delete: `command-exists` library (not used)
 * delete: `PM2_GetList()`  function (not used)
 * add: check `updates.length` (prevent crash)
 * add: `[PM2]` tag in log (for better visibility)
 * add: `pm2` library
 
advantage:
  * we use the pm2 library directly
* avoids weird returns from child_process.exec when requesting a json
format from pm2
  * simplified the code

inconvenient:
  * we have vulnerabilities with axios

240120 Fix:
* use `pm2_env.pm_cwd` instead of `pm2_env.PWD` : prevent using `pm2
restart <id> --update-env` in other directory (for enable GPU rendering
for exemple)
 * resolve packages (again)
`pm2` just updated to v5.3.1 with `0 vulnerabilities`

let's delete `allow-ghsas` in depsreview and update dependencies
Bumps
[actions/dependency-review-action](https://github.com/actions/dependency-review-action)
from 3 to 4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/dependency-review-action/releases">actions/dependency-review-action's
releases</a>.</em></p>
<blockquote>
<h2>v4.0.0</h2>
<ul>
<li>Update action to Node 20 by <a
href="https://github.com/takost"><code>@​takost</code></a> in <a
href="https://redirect.github.com/actions/dependency-review-action/pull/639">actions/dependency-review-action#639</a></li>
<li>Dependabot updates, see the full changelog for more details.</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/takost"><code>@​takost</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/dependency-review-action/pull/639">actions/dependency-review-action#639</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/dependency-review-action/compare/v3.1.5...v4.0.0">https://github.com/actions/dependency-review-action/compare/v3.1.5...v4.0.0</a></p>
<h2>3.1.5</h2>
<h2>What's Changed</h2>
<ul>
<li>Smaller <code>per_page</code> when requesting diff by <a
href="https://github.com/hmaurer"><code>@​hmaurer</code></a> in <a
href="https://redirect.github.com/actions/dependency-review-action/pull/649">actions/dependency-review-action#649</a></li>
<li>Update dependencies:
<ul>
<li>Bump <code>@​typescript-eslint/parser</code> from 6.10.0 to 6.13.1
by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>
in <a
href="https://redirect.github.com/actions/dependency-review-action/pull/630">actions/dependency-review-action#630</a></li>
<li>Bump prettier from 3.0.3 to 3.1.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/dependency-review-action/pull/629">actions/dependency-review-action#629</a></li>
<li>Bump <code>@​types/jest</code> from 29.5.8 to 29.5.11 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/dependency-review-action/pull/637">actions/dependency-review-action#637</a></li>
<li>Bump nodemon from 3.0.1 to 3.0.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/dependency-review-action/pull/636">actions/dependency-review-action#636</a></li>
<li>Replace pip -&gt; pypi in PURL examples by <a
href="https://github.com/febuiles"><code>@​febuiles</code></a> in <a
href="https://redirect.github.com/actions/dependency-review-action/pull/638">actions/dependency-review-action#638</a></li>
<li>Bump <code>@​typescript-eslint/eslint-plugin</code> from 6.12.0 to
6.15.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/dependency-review-action/pull/644">actions/dependency-review-action#644</a></li>
<li>Bump eslint from 8.53.0 to 8.56.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/dependency-review-action/pull/640">actions/dependency-review-action#640</a></li>
<li>Bump <code>@​typescript-eslint/parser</code> from 6.13.1 to 6.16.0
by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>
in <a
href="https://redirect.github.com/actions/dependency-review-action/pull/645">actions/dependency-review-action#645</a></li>
<li>Bump prettier from 3.1.0 to 3.1.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/dependency-review-action/pull/646">actions/dependency-review-action#646</a></li>
</ul>
</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/dependency-review-action/compare/v3.1.4...v3.1.5">https://github.com/actions/dependency-review-action/compare/v3.1.4...v3.1.5</a></p>
<h2>3.1.4</h2>
<h2>What's Changed</h2>
<ul>
<li>
<p>Fixed a <a
href="https://redirect.github.com/actions/dependency-review-action/issues/618">bug</a>
with severity filtering when using the <code>allow_ghsas</code> option:
<a
href="https://redirect.github.com/actions/dependency-review-action/pull/623">actions/dependency-review-action#623</a>.</p>
</li>
<li>
<p>Updates dependencies:</p>
<ul>
<li>Bump <code>@​types/node</code> from 16.18.61 to 16.18.62 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/dependency-review-action/pull/619">actions/dependency-review-action#619</a>
action/pull/620</li>
<li>Bump <code>@​typescript-eslint/eslint-plugin</code> from 6.11.0 to
6.12.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/dependency-review-action/pull/625">actions/dependency-review-action#625</a></li>
<li>Bump typescript from 5.2.2 to 5.3.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/dependency-review-action/pull/624">actions/dependency-review-action#624</a></li>
</ul>
</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/dependency-review-action/compare/v3...v3.1.4">https://github.com/actions/dependency-review-action/compare/v3...v3.1.4</a></p>
<h2>3.1.3</h2>
<h2>What's Changed</h2>
<ul>
<li>Fixes purl &quot;version must be percent-encoded&quot; by <a
href="https://github.com/theztefan"><code>@​theztefan</code></a> in <a
href="https://redirect.github.com/actions/dependency-review-action/pull/617">actions/dependency-review-action#617</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/dependency-review-action/compare/v3...v3.1.3">https://github.com/actions/dependency-review-action/compare/v3...v3.1.3</a></p>
<h2>3.1.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix a regression for setups using self-hosted runners behind HTTP
proxies:<a
href="https://github.com/febuiles"><code>@​febuiles</code></a> in <a
href="https://redirect.github.com/actions/dependency-review-action/pull/611">actions/dependency-review-action#611</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/dependency-review-action/commit/4cd9eb2d23752464a87e00499c30d256a59a01b4"><code>4cd9eb2</code></a>
Updating docs to point to v4.</li>
<li><a
href="https://github.com/actions/dependency-review-action/commit/4901385134134e04cec5fbe5ddfe3b2c5bd5d976"><code>4901385</code></a>
bump to 4.0.0</li>
<li><a
href="https://github.com/actions/dependency-review-action/commit/dbf82a4a5e789041feb229da46628470c73c9a0a"><code>dbf82a4</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/dependency-review-action/issues/639">#639</a>
from takost/takost/update-to-node-20</li>
<li><a
href="https://github.com/actions/dependency-review-action/commit/78aeb2a9481f34926df8c3362adc914ee6d1c2c4"><code>78aeb2a</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/dependency-review-action/issues/663">#663</a>
from actions/dependabot/npm_and_yarn/typescript-eslin...</li>
<li><a
href="https://github.com/actions/dependency-review-action/commit/4e510006f53ff8d6674dedf2002e9e0b82cc5470"><code>4e51000</code></a>
Bump <code>@​typescript-eslint/parser</code> from 6.18.0 to 6.18.1</li>
<li><a
href="https://github.com/actions/dependency-review-action/commit/9560737c5e7fc2128ffae68101ce1affe1e71e19"><code>9560737</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/dependency-review-action/issues/661">#661</a>
from actions/dependabot/npm_and_yarn/typescript-eslin...</li>
<li><a
href="https://github.com/actions/dependency-review-action/commit/4125f47f7e6413e88785249688b6c9013bc2a18e"><code>4125f47</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/dependency-review-action/issues/660">#660</a>
from actions/dependabot/npm_and_yarn/types/node-16.18.70</li>
<li><a
href="https://github.com/actions/dependency-review-action/commit/07cc93e0c88d01956b9bdd07a4ae2a3dd5b03aff"><code>07cc93e</code></a>
Bump <code>@​typescript-eslint/eslint-plugin</code> from 6.18.0 to
6.18.1</li>
<li><a
href="https://github.com/actions/dependency-review-action/commit/e2c203b8b7d8c24420ab8f3b640f6c7a4379ffa8"><code>e2c203b</code></a>
Bump <code>@​types/node</code> from 16.18.62 to 16.18.70</li>
<li><a
href="https://github.com/actions/dependency-review-action/commit/f0b304d0bca35ae1f93498c415db77ce72699b7c"><code>f0b304d</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/dependency-review-action/issues/653">#653</a>
from actions/dependabot/npm_and_yarn/got-14.0.0</li>
<li>Additional commits viewable in <a
href="https://github.com/actions/dependency-review-action/compare/v3...v4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/dependency-review-action&package-manager=github_actions&previous-version=3&new-version=4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps
[follow-redirects](https://github.com/follow-redirects/follow-redirects)
from 1.15.3 to 1.15.5.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/follow-redirects/follow-redirects/commit/b1677ce00110ee50dc5da576751d39b281fc4944"><code>b1677ce</code></a>
Release version 1.15.5 of the npm package.</li>
<li><a
href="https://github.com/follow-redirects/follow-redirects/commit/d8914f7982403ea096b39bd594a00ee9d3b7e224"><code>d8914f7</code></a>
Preserve fragment in responseUrl.</li>
<li><a
href="https://github.com/follow-redirects/follow-redirects/commit/65858205e59f1e23c9bf173348a7a7cbb8ac47f5"><code>6585820</code></a>
Release version 1.15.4 of the npm package.</li>
<li><a
href="https://github.com/follow-redirects/follow-redirects/commit/7a6567e16dfa9ad18a70bfe91784c28653fbf19d"><code>7a6567e</code></a>
Disallow bracketed hostnames.</li>
<li><a
href="https://github.com/follow-redirects/follow-redirects/commit/05629af696588b90d64e738bc2e809a97a5f92fc"><code>05629af</code></a>
Prefer native URL instead of deprecated url.parse.</li>
<li><a
href="https://github.com/follow-redirects/follow-redirects/commit/1cba8e85fa73f563a439fe460cf028688e4358df"><code>1cba8e8</code></a>
Prefer native URL instead of legacy url.resolve.</li>
<li><a
href="https://github.com/follow-redirects/follow-redirects/commit/72bc2a4229bc18dc9fbd57c60579713e6264cb92"><code>72bc2a4</code></a>
Simplify _processResponse error handling.</li>
<li><a
href="https://github.com/follow-redirects/follow-redirects/commit/3d42aecdca39b144a0a2f27ea134b4cf67dd796a"><code>3d42aec</code></a>
Add bracket tests.</li>
<li><a
href="https://github.com/follow-redirects/follow-redirects/commit/bcbb096b32686ecad6cd34235358ed6f2217d4f0"><code>bcbb096</code></a>
Do not directly set Error properties.</li>
<li>See full diff in <a
href="https://github.com/follow-redirects/follow-redirects/compare/v1.15.3...v1.15.5">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=follow-redirects&package-manager=npm_and_yarn&previous-version=1.15.3&new-version=1.15.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/MagicMirrorOrg/MagicMirror/network/alerts).

</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Notable changes in this context:

- simplification of the ESLint calls - there is no longer a combination
of two file/directory lists (one in `package.json` and one in
`.eslintignore`)
- removal of a non-existent path from the `.eslintignore`
- use shorthand declaration for GitHub repository

Normally the new plugin would also sort the scripts in the package.json
alphabetically, but I think the current order is fine, so I deactivated
it.

Is it overkill to introduce a linter plugin just for the `package.json`
files?

In other projects I have seen that such internal changes were marked
with "chore" in the changelog. That's what I've done here. These chore
changes are less interesting for "normal" users.

Please feel free to give me feedback.
see #3358

used command: `find ./ -type f -exec perl -i -0pe
's/\/\*\s*magicmirror.*?\*\/\s*//si' {} \;`

This is a first draft, I think we should preserve some of the comments.
* Worked around several issues in the RRULE library that were causing
deleted calender events to still show, some initial and recurring events
to not show, and some event times to be off an hour. (#3291)
* Renamed variables in *calendarfetcherutils.js* to be more clear about
use of `moment` and js's `Date` class.
* Added calendar config option `forceUseCurrentTime` (default:`false`)
which will ignore overridden `Date.now` in the config in order to keep
some tests consistent.
* Added several unit tests for crossing DST in different timezones with
excluded events.
- Remove useless css class in clock
- Fix typo in calendar
- Changelog also got a little screwed after last merge
- updated dependencies
The new version of husky makes it possible to simplify the pre-commit
hook a little.

And since prettier no longer takes care of the JavaScript files in our
project, it can no longer come into conflict with ESLint while running
lint-staged. Therefore we can activate the correction of ESLint issues
here.
This PR adds an option to tweak the layout of the weather module. When
set, the humidity appears alongside the temperature:

![Screenshot from 2024-01-03
11-56-55](https://github.com/MagicMirrorOrg/MagicMirror/assets/551990/2a9fdf9a-21e4-49f5-8a48-68ea21902592)
Improved wording, fixed grammatical errors and added new translations to
the et.json file.

---------

Co-authored-by: Veeck <[email protected]>
dependabot bot and others added 17 commits March 1, 2024 20:04
Bumps [electron](https://github.com/electron/electron) from 29.0.1 to
29.1.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/electron/electron/releases">electron's
releases</a>.</em></p>
<blockquote>
<h2>electron v29.1.0</h2>
<h1>Release Notes for v29.1.0</h1>
<h2>Features</h2>
<ul>
<li>Added proxy configuring support for requests made with net module
from utility process. <a
href="https://redirect.github.com/electron/electron/pull/41416">#41416</a>
<!-- raw HTML omitted -->(Also in <a
href="https://redirect.github.com/electron/electron/pull/41417">30</a>)<!--
raw HTML omitted --></li>
</ul>
<h2>Fixes</h2>
<ul>
<li>Ensured ScreenCaptureKit is used exclusively on macOS 14.4 and
higher to avoid permission prompts. <a
href="https://redirect.github.com/electron/electron/pull/41403">#41403</a>
<!-- raw HTML omitted -->(Also in <a
href="https://redirect.github.com/electron/electron/pull/41404">30</a>)<!--
raw HTML omitted --></li>
</ul>
<h2>Other Changes</h2>
<ul>
<li>Updated Chromium to 122.0.6261.70. <a
href="https://redirect.github.com/electron/electron/pull/41446">#41446</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/electron/electron/commit/2d9c5a62c639a64fc84b89e793b50d1d96a497ef"><code>2d9c5a6</code></a>
chore: bump chromium to 122.0.6261.70 (29-x-y) (<a
href="https://redirect.github.com/electron/electron/issues/41446">#41446</a>)</li>
<li><a
href="https://github.com/electron/electron/commit/23f690ffd0139820242bbc2d205eadac3a6d62b7"><code>23f690f</code></a>
chore: bump chromium to 122.0.6261.69 (29-x-y) (<a
href="https://redirect.github.com/electron/electron/issues/41425">#41425</a>)</li>
<li><a
href="https://github.com/electron/electron/commit/8f4e94694ee60718e5311de25fac55c51ce2f96f"><code>8f4e946</code></a>
chore: fix import from patches.py in script/lib/git.py (<a
href="https://redirect.github.com/electron/electron/issues/41437">#41437</a>)</li>
<li><a
href="https://github.com/electron/electron/commit/af47434dc8b3db261416c3f82c3a81e597b95200"><code>af47434</code></a>
feat: add support for configuring system network context proxies (<a
href="https://redirect.github.com/electron/electron/issues/41416">#41416</a>)</li>
<li><a
href="https://github.com/electron/electron/commit/8ab99e2d8e8736170cb82c56b4c228d7782edbfd"><code>8ab99e2</code></a>
refactor: prefer using <code>base::NoDestructor</code> to
`base::{Singleton,LazyInstance...</li>
<li><a
href="https://github.com/electron/electron/commit/ffcccdcf3769d5a4ee0c91b1766011e48233b5b2"><code>ffcccdc</code></a>
perf: omit unnecessary work from
`ElectronRenderFrameObserver::ShouldNotifyCl...</li>
<li><a
href="https://github.com/electron/electron/commit/ce2ac1c0c24171b8b1b4bcf5a3345e7bb80474d4"><code>ce2ac1c</code></a>
fix: use ScreenCaptureKit exclusively on macOS 14.4 and higher (<a
href="https://redirect.github.com/electron/electron/issues/41403">#41403</a>)</li>
<li><a
href="https://github.com/electron/electron/commit/1c3feddef8d54fedbf1966d2836c7b77e4228870"><code>1c3fedd</code></a>
docs: update breaking changes language (<a
href="https://redirect.github.com/electron/electron/issues/41398">#41398</a>)</li>
<li>See full diff in <a
href="https://github.com/electron/electron/compare/v29.0.1...v29.1.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=electron&package-manager=npm_and_yarn&previous-version=29.0.1&new-version=29.1.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [express](https://github.com/expressjs/express) from 4.18.2 to
4.18.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/expressjs/express/releases">express's
releases</a>.</em></p>
<blockquote>
<h2>4.18.3</h2>
<h2>Main Changes</h2>
<ul>
<li>Fix routing requests without method</li>
<li>deps: [email protected]
<ul>
<li>Fix strict json error message on Node.js 19+</li>
<li>deps: content-type@~1.0.5</li>
<li>deps: [email protected]</li>
</ul>
</li>
</ul>
<h2>Other Changes</h2>
<ul>
<li>Use https: protocol instead of deprecated git: protocol by <a
href="https://github.com/vcsjones"><code>@​vcsjones</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5032">expressjs/express#5032</a></li>
<li>build: [email protected] and [email protected] by <a
href="https://github.com/abenhamdine"><code>@​abenhamdine</code></a> in
<a
href="https://redirect.github.com/expressjs/express/pull/5034">expressjs/express#5034</a></li>
<li>ci: update actions/checkout to v3 by <a
href="https://github.com/armujahid"><code>@​armujahid</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5027">expressjs/express#5027</a></li>
<li>test: remove unused function arguments in params by <a
href="https://github.com/raksbisht"><code>@​raksbisht</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5124">expressjs/express#5124</a></li>
<li>Remove unused originalIndex from acceptParams by <a
href="https://github.com/raksbisht"><code>@​raksbisht</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5119">expressjs/express#5119</a></li>
<li>Fixed typos by <a
href="https://github.com/raksbisht"><code>@​raksbisht</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5117">expressjs/express#5117</a></li>
<li>examples: remove unused params by <a
href="https://github.com/raksbisht"><code>@​raksbisht</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5113">expressjs/express#5113</a></li>
<li>fix: parameter str is not described in JSDoc by <a
href="https://github.com/raksbisht"><code>@​raksbisht</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5130">expressjs/express#5130</a></li>
<li>fix: typos in History.md by <a
href="https://github.com/raksbisht"><code>@​raksbisht</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5131">expressjs/express#5131</a></li>
<li>build : add [email protected] by <a
href="https://github.com/abenhamdine"><code>@​abenhamdine</code></a> in
<a
href="https://redirect.github.com/expressjs/express/pull/5028">expressjs/express#5028</a></li>
<li>test: remove unused function arguments in params by <a
href="https://github.com/raksbisht"><code>@​raksbisht</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5137">expressjs/express#5137</a></li>
<li>use random port in test so it won't fail on already listening by <a
href="https://github.com/rluvaton"><code>@​rluvaton</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5162">expressjs/express#5162</a></li>
<li>tests: use cb() instead of done() by <a
href="https://github.com/kristof-low"><code>@​kristof-low</code></a> in
<a
href="https://redirect.github.com/expressjs/express/pull/5233">expressjs/express#5233</a></li>
<li>examples: remove multipart example by <a
href="https://github.com/riddlew"><code>@​riddlew</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5195">expressjs/express#5195</a></li>
<li>Update support Node.js@18 in the CI by <a
href="https://github.com/UlisesGascon"><code>@​UlisesGascon</code></a>
in <a
href="https://redirect.github.com/expressjs/express/pull/5490">expressjs/express#5490</a></li>
<li>Fix favicon-related bug in cookie-sessions example by <a
href="https://github.com/DmytroKondrashov"><code>@​DmytroKondrashov</code></a>
in <a
href="https://redirect.github.com/expressjs/express/pull/5414">expressjs/express#5414</a></li>
<li>Release 4.18.3 by <a
href="https://github.com/UlisesGascon"><code>@​UlisesGascon</code></a>
in <a
href="https://redirect.github.com/expressjs/express/pull/5505">expressjs/express#5505</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/vcsjones"><code>@​vcsjones</code></a>
made their first contribution in <a
href="https://redirect.github.com/expressjs/express/pull/5032">expressjs/express#5032</a></li>
<li><a
href="https://github.com/abenhamdine"><code>@​abenhamdine</code></a>
made their first contribution in <a
href="https://redirect.github.com/expressjs/express/pull/5034">expressjs/express#5034</a></li>
<li><a href="https://github.com/armujahid"><code>@​armujahid</code></a>
made their first contribution in <a
href="https://redirect.github.com/expressjs/express/pull/5027">expressjs/express#5027</a></li>
<li><a href="https://github.com/raksbisht"><code>@​raksbisht</code></a>
made their first contribution in <a
href="https://redirect.github.com/expressjs/express/pull/5124">expressjs/express#5124</a></li>
<li><a href="https://github.com/rluvaton"><code>@​rluvaton</code></a>
made their first contribution in <a
href="https://redirect.github.com/expressjs/express/pull/5162">expressjs/express#5162</a></li>
<li><a
href="https://github.com/kristof-low"><code>@​kristof-low</code></a>
made their first contribution in <a
href="https://redirect.github.com/expressjs/express/pull/5233">expressjs/express#5233</a></li>
<li><a href="https://github.com/riddlew"><code>@​riddlew</code></a> made
their first contribution in <a
href="https://redirect.github.com/expressjs/express/pull/5195">expressjs/express#5195</a></li>
<li><a
href="https://github.com/DmytroKondrashov"><code>@​DmytroKondrashov</code></a>
made their first contribution in <a
href="https://redirect.github.com/expressjs/express/pull/5414">expressjs/express#5414</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/expressjs/express/compare/4.18.2...4.18.3">https://github.com/expressjs/express/compare/4.18.2...4.18.3</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/expressjs/express/blob/master/History.md">express's
changelog</a>.</em></p>
<blockquote>
<h1>4.18.3 / 2024-02-26</h1>
<ul>
<li>Fix routing requests without method</li>
<li>deps: [email protected]
<ul>
<li>Fix strict json error message on Node.js 19+</li>
<li>deps: content-type@~1.0.5</li>
<li>deps: [email protected]</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/expressjs/express/commit/1b51edac7c5f2844e23602164a52643bb625993a"><code>1b51eda</code></a>
4.18.3</li>
<li><a
href="https://github.com/expressjs/express/commit/b625132864ef40b1fb119ff7c7b984573a7974c6"><code>b625132</code></a>
build: pin Node 21.x to minor</li>
<li><a
href="https://github.com/expressjs/express/commit/e3eca805847e0057ab1c83e7d61a6cc1c1ca47f1"><code>e3eca80</code></a>
build: pin Node 21.x to minor</li>
<li><a
href="https://github.com/expressjs/express/commit/23b44b3ddd45bc68487cc34cd576b117ba9d2609"><code>23b44b3</code></a>
build: support Node.js 21.6.2</li>
<li><a
href="https://github.com/expressjs/express/commit/b9fea1224516e372f6f63480cc1830e5f6ee63e6"><code>b9fea12</code></a>
build: support Node.js 21.x in appveyor</li>
<li><a
href="https://github.com/expressjs/express/commit/c259c3407f8c503c83d95fb1f30b132b73bb6388"><code>c259c34</code></a>
build: support Node.js 21.x</li>
<li><a
href="https://github.com/expressjs/express/commit/fdeb1d3176d11506557388ecaa2fe6a250e17efc"><code>fdeb1d3</code></a>
build: support Node.js 20.x in appveyor</li>
<li><a
href="https://github.com/expressjs/express/commit/734b28190085c052e3ecd9c7d0b9595d9edb1b85"><code>734b281</code></a>
build: support Node.js 20.x</li>
<li><a
href="https://github.com/expressjs/express/commit/0e3ab6ec215fc297473323fb1e8d0df03033e774"><code>0e3ab6e</code></a>
examples: improve view count in cookie-sessions</li>
<li><a
href="https://github.com/expressjs/express/commit/59af63ac2e6aea6a9cefb6fe27705ccf024d8373"><code>59af63a</code></a>
build: [email protected]</li>
<li>Additional commits viewable in <a
href="https://github.com/expressjs/express/compare/4.18.2...4.18.3">compare
view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by <a
href="https://www.npmjs.com/~ulisesgascon">ulisesgascon</a>, a new
releaser for express since your current version.</p>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=express&package-manager=npm_and_yarn&previous-version=4.18.2&new-version=4.18.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [playwright](https://github.com/microsoft/playwright) from 1.41.2
to 1.42.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/microsoft/playwright/releases">playwright's
releases</a>.</em></p>
<blockquote>
<h2>v1.42.0</h2>
<h2>New APIs</h2>
<ul>
<li>
<p><strong>Test tags</strong></p>
<p><a href="https://playwright.dev/docs/test-annotations#tag-tests">New
tag syntax</a> for adding tags to the tests (@-tokens in the test title
are still supported).</p>
<pre lang="js"><code>test('test customer login', { tag: ['@fast',
'@login'] }, async ({ page }) =&gt; {
  // ...
});
</code></pre>
<p>Use <code>--grep</code> command line option to run only tests with
certain tags.</p>
<pre lang="sh"><code>npx playwright test --grep @fast
</code></pre>
</li>
<li>
<p><strong>Annotating skipped tests</strong></p>
<p><a
href="https://playwright.dev/docs/test-annotations#annotate-tests">New
annotation syntax</a> for test annotations allows annotating the tests
that do not run.</p>
<pre lang="js"><code>test('test full report', {
  annotation: [
{ type: 'issue', description:
'microsoft/playwright#23180' },
{ type: 'docs', description:
'https://playwright.dev/docs/test-annotations#tag-tests' },
  ],
}, async ({ page }) =&gt; {
  // ...
});
</code></pre>
</li>
<li>
<p><strong>page.addLocatorHandler()</strong></p>
<p>New method <a
href="https://playwright.dev/docs/api/class-page#page-add-locator-handler">page.addLocatorHandler()</a>
registers a callback that will be invoked when specified element becomes
visible and may block Playwright actions. The callback can get rid of
the overlay. Here is an example that closes a cookie dialog when it
appears.</p>
<pre lang="js"><code>// Setup the handler.
await page.addLocatorHandler(
page.getByRole('heading', { name: 'Hej! You are in control of your
cookies.' }),
    async () =&gt; {
      await page.getByRole('button', { name: 'Accept all' }).click();
    });
// Write the test as usual.
await page.goto('https://www.ikea.com/');
await page.getByRole('link', { name: 'Collection of blue and white'
}).click();
await expect(page.getByRole('heading', { name: 'Light and easy'
})).toBeVisible();
</code></pre>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/microsoft/playwright/commit/e7f0635c17ac5c178b0960cb35f849edd3cf69ef"><code>e7f0635</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29692">#29692</a>):
docs: better addLocatorHandler example in release notes ...</li>
<li><a
href="https://github.com/microsoft/playwright/commit/8709a3a24b22304a2be67ac5688a998e71a32c5e"><code>8709a3a</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29687">#29687</a>):
chore: fix docs roll for functions without args follow-u...</li>
<li><a
href="https://github.com/microsoft/playwright/commit/aa9f6fb71872b8bf066209ff229a0fe9c43fe91e"><code>aa9f6fb</code></a>
cherry-pick(<a
href="https://redirect.github.com/microsoft/playwright/issues/29669">#29669</a>):
chore: strengthen linting (<a
href="https://redirect.github.com/microsoft/playwright/issues/29674">#29674</a>)</li>
<li><a
href="https://github.com/microsoft/playwright/commit/f5899c155647da3c358b5a1e152b619518fb55e2"><code>f5899c1</code></a>
chore: set version to 1.42.0 (<a
href="https://redirect.github.com/microsoft/playwright/issues/29671">#29671</a>)</li>
<li><a
href="https://github.com/microsoft/playwright/commit/77e1b025521912c4930f5dcac9a7ee492e0c3549"><code>77e1b02</code></a>
docs: 1.42 release notes (<a
href="https://redirect.github.com/microsoft/playwright/issues/29666">#29666</a>)</li>
<li><a
href="https://github.com/microsoft/playwright/commit/c1421bc9f2be2388b0b3d5fd5c601977689fa897"><code>c1421bc</code></a>
docs: typescript compiler invocation before tests (<a
href="https://redirect.github.com/microsoft/playwright/issues/29667">#29667</a>)</li>
<li><a
href="https://github.com/microsoft/playwright/commit/bd8d04443350212b95451f800d75148712bb99f9"><code>bd8d044</code></a>
feat(uimode) uses relative paths to establish websocket connection (<a
href="https://redirect.github.com/microsoft/playwright/issues/29617">#29617</a>)</li>
<li><a
href="https://github.com/microsoft/playwright/commit/56028269bb9364f5870daa7f054dad5bb401135e"><code>5602826</code></a>
devops: add a hint how to create a repro (<a
href="https://redirect.github.com/microsoft/playwright/issues/29665">#29665</a>)</li>
<li><a
href="https://github.com/microsoft/playwright/commit/015a1bcc1c0bdcc17409266ccc448b2def320914"><code>015a1bc</code></a>
feat(ct): double unmounting component throws error (<a
href="https://redirect.github.com/microsoft/playwright/issues/29650">#29650</a>)</li>
<li><a
href="https://github.com/microsoft/playwright/commit/303d7fdac9971312d7314a151c7e33329b06b660"><code>303d7fd</code></a>
chore(ct): vue resolve internal type errors (<a
href="https://redirect.github.com/microsoft/playwright/issues/29649">#29649</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/microsoft/playwright/compare/v1.41.2...v1.42.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=playwright&package-manager=npm_and_yarn&previous-version=1.41.2&new-version=1.42.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [node-ical](https://github.com/jens-maus/node-ical) from 0.17.2 to
0.18.0.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/jens-maus/node-ical/commits/0.18.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=node-ical&package-manager=npm_and_yarn&previous-version=0.17.2&new-version=0.18.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Don't display `npm WARN <....>`  on install

Only Error will be displayed
…event fetch loop failed) (#3382)

Hi, I had the case of some users who set a very small fetchinterval (10
sec for example)
in some cases, it may be that the request did not have time to complete
correctly and that the next one has already been sent (generally on
start of MM²)
I think that lock min fetchInterval to 60000 is a good idea
…#3346)

Fixes issue #3345. 

I think I submitted this correctly, but don't do this often so let me
know if anything needs to be corrected.

---------

Co-authored-by: Veeck <[email protected]>
…#3401)

user reported problem with clock module, checking code found dependency
on suncalc library, but it is not loaded in production mode.. move
dependency

---------

Co-authored-by: veeck <[email protected]>
…alues (#3397)

Hi,

this PR should change the layout of the indoor values in the
current_weather module.

Since the Indoor values are being passed into the module via a
notification, I sadly do not know exactly how to write a test for this.
Can you link me an example or tell me, how I can mock indoor values into
this test?

Before:

![grafik](https://github.com/MagicMirrorOrg/MagicMirror/assets/6515818/b1b2afcc-0a35-48c3-9cf8-3e7b041c7727)

After:

![grafik](https://github.com/MagicMirrorOrg/MagicMirror/assets/6515818/311d3051-45e9-450d-afd5-c90a4d4ffd63)
... when no compliments are to be displayed. We shouldnt even try to
randomize when the array has no elements...

Fixes #3385
because actually i'm not able to rebuild any libraries to works with
electron v29.x
I write a suite test to check `electron-rebuild`

Note: works with
[v28.x](https://github.com/MagicMirrorOrg/MagicMirror/actions/runs/8122468177/job/22201931385)
* Create `MM²` icon
 * Allow to change default electron icon to this icon
Hey!

This PR should change the behaviour of starting fullDay events that last
several days. The goal was to change the behavior of the "Starting
today, ends T" (T=Tomorrow) event, so it should show how many days it
will occur from the first day on

Before situation:

a fullDay event that started 'today' and ends several days later showed
Today on the first day. The rest of the days it showed X days left.


![grafik](https://github.com/MagicMirrorOrg/MagicMirror/assets/6515818/da4e06cf-3122-44d9-b78a-88f9970c57d4)

Y => Yesterday
T => Tomorrow


Target situation with this commit:
a fullDay event that started 'today' shows 'X days left' from the first
day on and 'Today' on the last day.


![grafik](https://github.com/MagicMirrorOrg/MagicMirror/assets/6515818/c42b9a27-35cf-47b7-9a8f-937a6009f904)

---------

Co-authored-by: Veeck <[email protected]>
khassel
khassel previously approved these changes Apr 1, 2024
Mastermerge label wasnt checked correctly, this PR should hopefully
fixes it for good

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
CodeCov isnt used at the moment and MAYBE this blocks our release
@rejas rejas requested a review from khassel April 1, 2024 19:32
@rejas rejas merged commit 5ea8a34 into master Apr 1, 2024
9 checks passed
0wenFM-01 added a commit to 0wenFM-01/MagicMirrorFORK that referenced this pull request Apr 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.