-
-
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
Custom Region Layouts - V2.28.0 breaks functionality #3504
Comments
yes, the mentioned PR causes your problems. AFAIR this was implemented to prevent crashes so we have less support. @rejas @sdetweil from my side we could add an additional parameter in |
@khassel yes prevent crashes but could be an optional property as u suggest. I also suggested code to do discovery, but could be trouble depending, on above |
My vote would be to scan the index file for the regions when it does the check. It seems like this ability is already built-in somewhat to the codebase since it was able to use the custom regions before. However, I always have to remember to replace the index file with my custom after an update, so having the alternative means to add these in via config or other means would also be good. Maybe a way to add a custom section similar to how you can do a custom CSS that gets injected into the index file automagically. That way if an update doesn't wipe out core manual updates. |
before we we didn't validate the regions. but if it was wrong, there was a fatal error.. and MM didn't come up I did write a sample bit of JS to extract the names from the index.html file.. and ad d them to the list to validate against. |
const fs = require('fs')
const indexFile = 'index.html'
let lines = fs.readFileSync(indexFile).toString().split('\n')
let regionRegex = /"region ([^"]*)/i
lines.forEach(l =>{
let results=regionRegex.exec(l)
if(results && results.length>1){
console.log("region='"+results[1].replace(' ','_')+"'")
}
}) |
my above PR brings back the situation of We often had discussions about custom regions, but that was never implemented, e.g. #3231. If we implement such a solution, it should be robust and not result in increased support. |
well, your pr suspends checking. does not check new region names too. |
as I said, brings back the situation of |
I thought you would make the property for an array of position names, to add/replace the default ones vs a flag to not check |
## [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]>
Hello and thank you for opening an issue.
I'm not sure if this is a bug
If you're not sure if it's a real bug or if it's just you, please open a topic on the forum: https://forum.magicmirror.builders/category/15/bug-hunt
I'm having troubles installing or configuring MagicMirror
Problems installing or configuring your MagicMirror? Check out: https://forum.magicmirror.builders/category/10/troubleshooting
A common problem is that your config file could be invalid. Please run in your MagicMirror² directory:
npm run config:check
and see if it reports an error.I found a bug in the MagicMirror² installer
If you are facing an issue or found a bug while trying to install MagicMirror² via the installer please report it in the respective GitHub repository:
https://github.com/sdetweil/MagicMirror_scripts
I found a bug in the MagicMirror² Docker image
If you are facing an issue or found a bug while running MagicMirror² inside a Docker container please create an issue in the corresponding repository:
https://gitlab.com/khassel/magicmirror
I'm having troubles installing or configuring foreign modules
Please open an issue in the module repository or ask for help in the forum
I found a bug in MagicMirror
Please make sure to only submit reproducible issues. You can safely remove everything above the dividing line.
When submitting a new issue, please supply the following information:
Platform: Intel(R) Client Systems; model: NUC6CAYH, platform: linux; distro: Ubuntu; release: 22.04.4 LTS; arch: x64; kernel: 6.5.0-44-generic, electron: 29.1.6; used node: 20.9.0; installed node: 20.15.1; npm: 10.7.0; pm2: 5.3.1
Node Version: node: 20.15.1
MagicMirror² Version: MagicMirror: v2.27.0 (tried latest 22.28.0 - caused problems)
Description: For approximately the last year if not longer, I have been running my MagicMirror instance successfully with custom layout regions. V2.27.0 appears to be the last release where this worked. V2.28.0 breaks this functionality. I am not sure where I found how to do this, but it was somewhere on the MagicMirror forums. Here is a snippet from my modified index.html:
In my config.js, I am able to locate modules in this by using the following:
position: "row3_left"
...
position: "row3_right"
When I updated to V2.28.0, it no longer loads and my error log indicates invalid region position.
Steps to Reproduce: Downgraded to 2.27.0 to get it working again. 2.28.0 breaks it. .
Expected Results: Custom regions in index.html should be recognized by stem like previously..
Actual Results: Multiple errors in log due to "invalid region".
Configuration: pertinent snippet above.
Additional Notes:. I am suspecting the "fix", issue #3445 is what is causing this to no longer work.
My question is, is there a better way to get custom layout functionality that I am unaware of to get my system working with the latest release? The current pre-determined layout is too restrictive and I need more layout options for my system.
The text was updated successfully, but these errors were encountered: