From ad20a7c0b6fd95d1a7c698a2e4431f710b6eeaf4 Mon Sep 17 00:00:00 2001 From: Karol Suprynowicz Date: Tue, 19 May 2026 16:28:30 +0200 Subject: [PATCH 1/2] Emit script message event when module compilation fails --- libraries/script-engine/src/v8/ScriptEngineV8.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/libraries/script-engine/src/v8/ScriptEngineV8.cpp b/libraries/script-engine/src/v8/ScriptEngineV8.cpp index 7886d6865d3..ae0f1ef7841 100644 --- a/libraries/script-engine/src/v8/ScriptEngineV8.cpp +++ b/libraries/script-engine/src/v8/ScriptEngineV8.cpp @@ -594,8 +594,14 @@ ScriptValue ScriptEngineV8::evaluateInClosure(const ScriptValue& _closure, //const V8ScriptValue& closure = unwrappedClosure->toV8Value(); auto compileResult = unwrappedProgram->checkSyntax(); if (compileResult->state() != ScriptSyntaxCheckResult::Valid) { - qCCritical(scriptengine_v8) << "Can't compile script for evaluating in closure. Error message: " << compileResult->errorMessage() - << " line: " << compileResult->errorLineNumber() << " column: " << compileResult->errorColumnNumber(); + QString errorMessage(QString("Can't compile script for evaluating in closure. Error message: : \"") + compileResult->errorMessage() + QString("\" ") + + QString(" line: ") + QString::number(compileResult->errorLineNumber()) + " column: " + QString::number(compileResult->errorColumnNumber())); + if (_manager) { + _manager->scriptErrorMessage(errorMessage, _program->fileName(), + compileResult->errorLineNumber()); + } else { + qCCritical(scriptengine_v8) << errorMessage << _program->fileName() << ":" << compileResult->errorLineNumber(); + } popContext(); return nullValue(); } From 23506b70a83022238e35c6f05b9f203ec8d451e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20Gro=C3=9F?= Date: Tue, 30 Jun 2026 16:36:11 +0200 Subject: [PATCH 2/2] Always emit critical error to log when script compilation fails. --- libraries/script-engine/src/v8/ScriptEngineV8.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libraries/script-engine/src/v8/ScriptEngineV8.cpp b/libraries/script-engine/src/v8/ScriptEngineV8.cpp index ae0f1ef7841..41adb4f08b1 100644 --- a/libraries/script-engine/src/v8/ScriptEngineV8.cpp +++ b/libraries/script-engine/src/v8/ScriptEngineV8.cpp @@ -599,9 +599,8 @@ ScriptValue ScriptEngineV8::evaluateInClosure(const ScriptValue& _closure, if (_manager) { _manager->scriptErrorMessage(errorMessage, _program->fileName(), compileResult->errorLineNumber()); - } else { - qCCritical(scriptengine_v8) << errorMessage << _program->fileName() << ":" << compileResult->errorLineNumber(); } + qCCritical(scriptengine_v8) << errorMessage << _program->fileName() << ":" << compileResult->errorLineNumber(); popContext(); return nullValue(); }