From 961bae637c9506e12321112519cfc10b43a34bab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bugsounet=20-=20C=C3=A9dric?= Date: Sat, 5 Oct 2024 15:23:36 +0200 Subject: [PATCH] [core] add try / catch on mode_helper loading (#3578) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When a library is missing on an 3rd party module, MM² stop loading and display a black screen. (I'm sure it's happened to everyone.) So, I have added a try/catch block and it's avoid black screen, display errors and allow continue loading with next module --- CHANGELOG.md | 1 + js/app.js | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ce55b022..2b9ac1ac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,7 @@ _This release is scheduled to be released on 2025-01-01._ ### Fixed - [updatenotification] Fix pm2 using detection when pm2 script is in MagicMirror root folder (#3576) +- [core] Fix loading node_helper of modules: avoid black screen, display errors and continue loading with next module (#3578) ## [2.29.0] - 2024-10-01 diff --git a/js/app.js b/js/app.js index 8ae002e9..5ab23356 100644 --- a/js/app.js +++ b/js/app.js @@ -197,7 +197,13 @@ function App () { // if the helper was found if (loadHelper) { - const Module = require(helperPath); + let Module; + try { + Module = require(helperPath); + } catch (e) { + Log.error(`Error when loading ${moduleName}:`, e.message); + return; + } let m = new Module(); if (m.requiresVersion) {