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

2.14 regression, not installed module produces no error #2403

Closed
sdetweil opened this issue Jan 3, 2021 · 12 comments
Closed

2.14 regression, not installed module produces no error #2403

sdetweil opened this issue Jan 3, 2021 · 12 comments

Comments

@sdetweil
Copy link
Collaborator

sdetweil commented Jan 3, 2021

I was helping user with MMM-WiFiPassword, it just displays a qr code

he had misspelled the name

to recreate
add this to your config.js

        {
            module: "MMM-WiFiPassword1",
            position: "center",
              config: {
              //See 'Configuration options' for more information.
              network: "xxxxx",
              password: "xxxxxx",
	            showAuthType: false,
	            showNetwork: false,
	            showPassword: false,
	            debug: false
        		}
        }

i got
No helper found for module: MMM-WiFiPassword1.

but not failure, because the module was missing

@rejas
Copy link
Collaborator

rejas commented Jan 4, 2021

What was the behaviour pre-2.14 for this case?

@sdetweil
Copy link
Collaborator Author

sdetweil commented Jan 4, 2021

magicMirror could not validate the config file
will not stop.....
(i think) have to go test

@MichMich
Copy link
Collaborator

MichMich commented Jan 4, 2021

I think this behavior did not change.

@sdetweil
Copy link
Collaborator Author

sdetweil commented Jan 4, 2021

does not fail on 2.11...
should fail

@rejas
Copy link
Collaborator

rejas commented Mar 4, 2021

Tried as far as v2.7.0 (below wouldnt start anymore on my Ubuntu). No warnings or error besides the " No helper found for module: MMM-WiFiPassword1. "

So not sure when / or if it was changed. But maybe something worth discussing: Shouldnt there be a more obvious warnin/error log that you have a config entry for a module that isnt there?

@sdetweil
Copy link
Collaborator Author

sdetweil commented Mar 23, 2021

@rejas > Shouldnt there be a more obvious warning/error log that you have a config entry for a module that isnt there?

thats my opinion... users coming from windows make mistakes on letter casing and nothing works.. but they don't know why..

@stale
Copy link

stale bot commented Jun 2, 2021

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the wontfix label Jun 2, 2021
@stale stale bot closed this as completed Jun 11, 2021
@rejas rejas reopened this Oct 30, 2022
@rejas
Copy link
Collaborator

rejas commented Oct 30, 2022

Re-opening since this might be useful feature (just ran into it myself)

@rejas rejas added PR Welcome and removed wontfix labels Oct 30, 2022
@khassel
Copy link
Collaborator

khassel commented Jan 17, 2023

This is the part of app.js

		let loadHelper = true;
		try {
			fs.accessSync(helperPath, fs.R_OK);
		} catch (e) {
			loadHelper = false;
			Log.log(`No helper found for module: ${moduleName}.`);
		}

It is correct to do only a log here because not every module has a node_helper.js.

We could test before this part e.g. if the directory exists (and may its not empty) and otherwise do a Log.error().

Would this solve this issue?
Other ideas?

@sdetweil
Copy link
Collaborator Author

directory and modulename js existing. not node_helper as optional

@khassel
Copy link
Collaborator

khassel commented Jan 17, 2023

would be this:

	function loadModule(module, callback) {
		const elements = module.split("/");
		const moduleName = elements[elements.length - 1];
		let moduleFolder = `${__dirname}/../modules/${module}`;

		if (defaultModules.includes(moduleName)) {
			moduleFolder = `${__dirname}/../modules/default/${module}`;
		}
// begin new
		const moduleFile = `${moduleFolder}/${module}.js`;

		try {
			fs.accessSync(moduleFile, fs.R_OK);
		} catch (e) {
			Log.error(`No ${moduleFile} found for module: ${moduleName}.`);
		}
// end new

		const helperPath = `${moduleFolder}/node_helper.js`;

		let loadHelper = true;
		try {
			fs.accessSync(helperPath, fs.R_OK);
		} catch (e) {
			loadHelper = false;
			Log.log(`No helper found for module: ${moduleName}.`);
		}
...

@sdetweil
Copy link
Collaborator Author

I guess. They should be able to resolve no file if the folder is missing too. altho many times it's a case mismatch

some have no idea that all these things must match.

rejas pushed a commit that referenced this issue Jan 26, 2023
… in module folder to get a hint in the logs

fixes #2403
@rejas rejas added this to the 2.23 milestone Feb 18, 2023
MichMich added a commit that referenced this issue Apr 4, 2023
## [2.23.0] - 2023-04-04

Thanks to: @angeldeejay, @buxxi, @CarJem, @dariom, @DaveChild, @dWoolridge, @grenagit, @Hirschberger, @KristjanESPERANTO, @MagMar94, @naveensrinivasan, @nfogal, @psieg, @rajniszp, @retroflex, @SkySails and @tomzt.

Special thanks to @khassel, @rejas and @sdetweil for taking over most (if not all) of the work on this release as project collaborators. This version would not be there without their effort. Thank you guys! You are awesome!

### Added

- Added increments for hourly forecasts in weather module (#2996)
- Added tests for hourly weather forecast
- Added possibility to ignore MagicMirror repo in updatenotification module
- Added Pirate Weather as new weather provider (#3005)
- Added possibility to use your own templates in Alert module
- Added error message if `<modulename>.js` file is missing in module folder to get a hint in the logs (#2403)
- Added possibility to use environment variables in `config.js` (#1756)
- Added option `pastDaysCount` to default calendar module to control of how many days past events should be displayed
- Added thai language to alert module
- Added option `sendNotifications` in clock module (#3056)

### Removed

- Removed darksky weather provider
- Removed unneeded (and unwanted) '.' after the year in calendar repeatingCountTitle (#2896)

### Updated

- Use develop as target branch for dependabot
- Update issue template, contributing doc and sample config
- The weather modules clearly separates precipitation amount and probability (risk of rain/snow)
  - This requires all providers that only supports probability to change the config from `showPrecipitationAmount` to `showPrecipitationProbability`.
- Update tests for weather and calendar module
- Changed updatenotification module for MagicMirror repo only: Send only notifications for `master` if there is a tag on a newer commit
- Update dates in Calendar widgets every minute
- Cleanup jest coverage for patches
- Update `stylelint` dependencies, switch to `stylelint-config-standard` and handle `stylelint` issues, update `main.css` matching new rules
- Update Eslint config, add new rule and handle issue
- Convert lots of callbacks to async/await
- Revise require imports (#3071 and #3072)

### Fixed

- Fix wrong day labels in envcanada forecast (#2987)
- Fix for missing default class name prefix for customEvents in calendar
- Fix electron flashing white screen on startup (#1919)
- Fix weathergov provider hourly forecast (#3008)
- Fix message display with HTML code into alert module (#2828)
- Fix typo in french translation
- Yr wind direction is no longer inverted
- Fix async node_helper stopping electron start (#2487)
- The wind direction arrow now points in the direction the wind is flowing, not into the wind (#3019)
- Fix precipitation css styles and rounding value
- Fix wrong vertical alignment of calendar title column when wrapEvents is true (#3053)
- Fix empty news feed stopping the reload forever
- Fix e2e tests (failed after async changes) by running calendar and newsfeed tests last
- Lint: Use template literals instead of string concatenation
- Fix default alert module to render HTML for title and message
- Fix Open-Meteo wind speed units
@khassel khassel closed this as completed Apr 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants