-
-
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
add support for custom regions, by detecting what is used in index.html #3518
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