-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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.29.0 #3568
Merged
Release 2.29.0 #3568
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
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 -> 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 "version must be percent-encoded" 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]>
We cannot upgrade to electron v32 because electron-rebuild is failing with epoll, so staying at v31.
This file is generated when MM is started. As I understand it, it should not be included in the repository. Should probably have been part of #3518.
sliceMultiDayEvents occasionally gets the number of events wrong and produces too many rows Math.ceil() rounds up over 1.04 so we get an abnormal count then the calcs for the midnight loop control used different moment() functions, producing different results fixes #3542
I felt like adding a spell checker, but it's okay if you find it superfluous. At least then we could fix the found spell issues. What is still missing is an automatic integration so that the spell checker does not have to be called manually. Would it perhaps make sense to always do it before a release?
… for setting these things from outside (and overriding corresponding config.js properties `config.foreignModulesDir` and `customCss`) - remove elements from index.html when loading script or stylesheet files fails - removed `config.paths.vendor` (could never work because `vendor` is hardcoded in `index.html`) and renamed `config.paths.modules` to `config.foreignModulesDir`. The `config.paths. ...` properties were implemented in the initial commit in `js/defaults.js` but were never functional. - fixes `app.js` which didn't respect `config.paths.modules` before - as `modules/defaults` is directly set in many places in the source code restrict `config.paths.modules` to foreign modules (it has never worked for default modules), now renamed to `config.foreignModulesDir` - adds new `/env` section in `server.js` for getting the new env vars in the browser - fixes TODO in `server.js` so test directories are now only published when running tests These changes allow changing some main paths from outside mm with the new env vars. You now **can** put all user stuff into one directory, e.g. the `config` dir: - `config.js` as before - `custom.css` - foreign modules This would simplify other setups e.g. the docker setup. At the moment we have to deal with 3 directories where 2 of them (`modules` and `css`) contains mixed stuff, which means mm owned files and user files. This can now simplified and leads to cleaner setups (if wanted).
I think it might be a good idea to check the config at every start.
…via `updateDom` (#3535) - [x] Base your pull requests against the `develop` branch. - [x] Include these infos in the description: > - Does the pull request solve a **related** issue? Yes - solves #3534 > - If so, can you reference the issue like this `Fixes #<issue_number>`? Fixes #3534 (also mentioned in commit message) > - What does the pull request accomplish? Use a list if needed. > > - Adds a new notification (`DOM_OBJECTS_UPDATED`) when the DOM is updated via `updateDom` - [x] Please run `npm run lint:prettier` before submitting - [x] Don't forget to add an entry about your changes to the CHANGELOG.md file. More info can be found in #3534, but as a summary: The `updateDom` function is not synchronous - there is an undetermined amount of time between when it completes and when the DOM has actually been re-rendered and is ready for interaction. The existing notification (`MODULE_DOM_CREATED`) only fires once on the initial DOM render. This PR solves the issue of subsequent re-renders by adding a new notification that fires whenever the DOM is ready after an update. This notification falls within expected lifecycle notifications (very similar to other libraries that provide DOM lifecycle notifications).
Only details changes. No functional changes. - remove superfluous colors in Log.error - invert negative if - update ESLint env - use camel case variable name - optimize Log strings
uses newsfeed test after copying this module to config dir addition for #3530
- should now correct itself when one changes from (accidentaly selected) master to develop - also fixes wrong CHANGELOG entry from #3481 - update deps a little
Beside testing against node version `v20.x` and `v22.x` we should also test against the minimal node version, currently `v20.9.0`. This is for seeing changes in dependencies which needs higher node version as with the July-24-release, where we wrote `node >=20` but shipped an `eslint` version which required `node>=20.9.0`.
and ignore `js/positions.js` when linting (because this file is generated at runtime).
Since PR #3551 was not yet complete, I made my own attempt. 1. Update to ESLint v9. 2. Replace deprecated `.eslintrc.json` and `.eslintignore` by flat config `eslint.config.mjs`. 3. Adapt `check_config.js` to use flat config. 4. Since `eslint-plugin-import` still doesn't support ESLint v9 I removed it. We can add it back when it does support v9. 5. Run tests `npm run check:js` and `npm run config:check`. 6. In order not to overload this PR, I have not yet activated more additional rules - there are some useful ones in the new plugin `@eslint/js`. @bugsounet, please don't take it as an offence that I have created a competing PR. The migration to ESLint v9 has been burning under my nails for some time.
This bug is caused by #3543. The calculation for midnight adds a day but for endDate we want the day to be subtracted again.
in addition of #3559 except with node v21: no security updates and EOL
# Update electron-rebuild.yaml * remove onoff library: Not updated since 3 years, don't work with last rpi Os * add node-libgpiod library in replacement
- node-ical use `0.18.0` instead of `^0.18.0` in `package.json` - cleanup `package-lock.json`
timmymac-tech
added a commit
to timmymac-tech/MagicMirror
that referenced
this pull request
Oct 6, 2024
Release 2.29.0 (MagicMirrorOrg#3568)
Protonosgit
added a commit
to Protonosgit/MagicMedia
that referenced
this pull request
Oct 6, 2024
Release 2.29.0 (MagicMirrorOrg#3568)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
[2.29.0] - 2024-10-01
Thanks to: @bugsounet, @dkallen78, @jargordon, @khassel, @KristjanESPERANTO, @MarcLandis, @rejas, @ryan-d-williams, @sdetweil, @skpanagiotis.
Added
npm run test:spelling
and handle spelling issues (Add spell check #3544)config.paths.vendor
(could not work becausevendor
is hardcoded inindex.html
), renamedconfig.paths.modules
toconfig.foreignModulesDir
, added variableMM_CUSTOMCSS_FILE
which - if set - overridesconfig.customCss
, added variableMM_MODULES_DIR
which - if set - overridesconfig.foreignModulesDir
, added test forMM_MODULES_DIR
(add new env vars MM_MODULES_DIR and MM_CUSTOMCSS_FILE … #3530)index.html
when loading script or stylesheet files failsMODULE_DOM_UPDATED
notification each time the DOM is re-rendered viaupdateDom
(Notification on subsequent DOM updates (not just the first) #3534)node-libgpiod
library to electron-rebuild tests (Electron rebuild tests update #3563)Removed
eslint-plugin-import
, because it doesn't support ESLint v9. We will reenter it later when it does.onoff
library from electron-rebuild tests (Electron rebuild tests update #3563)Updated
apiVersion
default from 2.5 to 3.0 ([weather] openweathermap One Call 2.5 will be finally closed in June 2024 #3424)node-ical
version to0.18.0
with exceptionallow-ghsas: GHSA-8hc4-vh64-cxmj
indep-review.yaml
(which should removed after nextnode-ical
update)config_check.js
package.json
(currently v20.9.0) (Updated minimal needed node version inpackage.json
(currently v20.9.0) #3559) and except for v21 (no security updates) (Engine except on node v21 #3561)eslint-plugin-unicorn
by@eslint/js
Fixed
checks
badge in README.mdjs/positions.js
when linting (this file is created at runtime)