add support for custom regions, by detecting what is used in index.html#3518
add support for custom regions, by detecting what is used in index.html#3518khassel merged 10 commits intoMagicMirrorOrg:developfrom
Conversation
|
how do I create a testcase where I need to replace index.html??
I removed the hard coded position names from the code... all is detected |
|
In e2e weather tests is a similar construction where a string I think you have to restore the original |
|
that replaces the string in the config.js |
|
yes, we have no such file replace, maybe simple solution is
|
what about the changes done in the above PR? Do we still need |
|
i removed it.. (removed the code, not the commit) still testing.. testcase fails.. not sure why.. |
|
ok.. one more problem on this so I filtered the regions to positions and we went thru config , and checked.. all good.. start server, open web window, on index.html.. so, i have to pass the generated list this works.. new file comment out the same in main.js any objections to this approach? |
|
is there a testcase that captures error as the position is bad, MM doesn't load the module, there is no web content.. so we wait til timeout.. |
I think no looking at #3445 |
not sure, I did similar ugly things in https://github.com/MagicMirrorOrg/MagicMirror/pull/3231/files replacing a placeholder with content of a config property |
|
ok.. I will be gone for a week (mon-mon) so won't work on it til I get back.. just have to figure out verifying the bad position requested.. have good now... I will push all this so not lost |
|
this is ready for review |
|
what is this failure? I didn't change anything in the on/off rebuild test |
|
and I think |
|
ok missed that. |
|
ok, updated to remove that |
Should have been part of MagicMirrorOrg#3518
Should have been part of MagicMirrorOrg#3518
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.
|
@sdetweil : I just discover a bug in This function is called 2 times in app.js
Result: just check position.js file |
|
thats because check:config was just added to the startup. |
|
I know sam, i'm just reporting what I've noticed. Maybe removing L272 and using only check config will do the job |
|
i didn't add check config. |
|
You have right sam, it's @KristjanESPERANTO #3450 |
|
or we could add a check in getModulePositions if the modulePositions is not populated |
|
i added a pr for the latter, check if work already done, in case we remove check:config from startup |
|
it seems to do the job ;) |
## [2.29.0] - 2024-10-01 Thanks to: @bugsounet, @dkallen78, @jargordon, @khassel, @KristjanESPERANTO, @MarcLandis, @rejas, @ryan-d-williams, @sdetweil, @skpanagiotis. >⚠️ This release needs nodejs version `v20` or `v22`, minimum version is `v20.9.0` ### Added - [compliments] Added support for cron type date/time format entries mm hh DD MM dow (minutes/hours/days/months and day of week) see https://crontab.cronhub.io for construction (#3481) - [core] Check config at every start of MagicMirror² (#3450) - [core] Add spelling check (cspell): `npm run test:spelling` and handle spelling issues (#3544) - [core] removed `config.paths.vendor` (could not work because `vendor` is hardcoded in `index.html`), renamed `config.paths.modules` to `config.foreignModulesDir`, added variable `MM_CUSTOMCSS_FILE` which - if set - overrides `config.customCss`, added variable `MM_MODULES_DIR` which - if set - overrides `config.foreignModulesDir`, added test for `MM_MODULES_DIR` (#3530) - [core] elements are now removed from `index.html` when loading script or stylesheet files fails - [core] Added `MODULE_DOM_UPDATED` notification each time the DOM is re-rendered via `updateDom` (#3534) - [tests] added minimal needed node version to tests (currently v20.9.0) to avoid releases with wrong node version info - [tests] Added `node-libgpiod` library to electron-rebuild tests (#3563) ### Removed - [core] removed installer only files (#3492) - [core] removed raspberry object from systeminformation (#3505) - [linter] removed `eslint-plugin-import`, because it doesn't support ESLint v9. We will reenter it later when it does. - [tests] removed `onoff` library from electron-rebuild tests (#3563) ### Updated - [weather] Updated `apiVersion` default from 2.5 to 3.0 (#3424) - [core] Updated dependencies including stylistic-eslint - [core] nail down `node-ical` version to `0.18.0` with exception `allow-ghsas: GHSA-8hc4-vh64-cxmj` in `dep-review.yaml` (which should removed after next `node-ical` update) - [core] Updated SocketIO catch all to new API - [core] Allow custom modules positions by scanning index.html for the defined regions, instead of hard coded (PR #3518 fixes issue #3504) - [core] Detail optimizations in `config_check.js` - [core] Updated minimal needed node version in `package.json` (currently v20.9.0) (#3559) and except for v21 (no security updates) (#3561) - [linter] Switch to ESLint v9 and flat config and replace `eslint-plugin-unicorn` by `@eslint/js` - [core] fix discovering module positions twice after #3450 ### Fixed - Fixed `checks` badge in README.md - [weather] Fixed issue with the UK Met Office provider following a change in their API paths and header info. - [core] add check for node_helper loading for multiple instances of same module (#3502) - [weather] Fixed issue for respecting unit config on broadcasted notifications - [tests] Fixes calendar test by moving it from e2e to electron with fixed date (#3532) - [calendar] fixed sliceMultiDayEvents getting wrong count and displaying incorrect entries, Europe/Berlin (#3542) - [tests] ignore `js/positions.js` when linting (this file is created at runtime) - [calendar] fixed sliceMultiDayEvents showing previous day without config enabled --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: Michael Teeuw <[email protected]> Co-authored-by: Kristjan ESPERANTO <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Ross Younger <[email protected]> Co-authored-by: Veeck <[email protected]> Co-authored-by: Bugsounet - Cédric <[email protected]> Co-authored-by: jkriegshauser <[email protected]> Co-authored-by: illimarkangur <[email protected]> Co-authored-by: sam detweiler <[email protected]> Co-authored-by: vppencilsharpener <[email protected]> Co-authored-by: veeck <[email protected]> Co-authored-by: Paranoid93 <[email protected]> Co-authored-by: Brian O'Connor <[email protected]> Co-authored-by: WallysWellies <[email protected]> Co-authored-by: Jason Stieber <[email protected]> Co-authored-by: jargordon <[email protected]> Co-authored-by: Daniel <[email protected]> Co-authored-by: Ryan Williams <[email protected]> Co-authored-by: Panagiotis Skias <[email protected]> Co-authored-by: Marc Landis <[email protected]>
read index.html to discover the regions used, make them the list checked by app.js and check:config test
fixes #3504 supercedes #3506
no config.js param required