From 02e0aa1e42a7ee974a16f3e6385f6e4226bbc4d9 Mon Sep 17 00:00:00 2001 From: Ryan Tremblay Date: Fri, 23 Jan 2026 14:00:14 -0800 Subject: [PATCH 1/6] Hardcode local package path --- Core/Node-API/package-v8.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Core/Node-API/package-v8.json b/Core/Node-API/package-v8.json index 26179cb8..fe140918 100644 --- a/Core/Node-API/package-v8.json +++ b/Core/Node-API/package-v8.json @@ -1,5 +1,5 @@ { "dependencies": { - "v8-android-jit-nointl-nosnapshot": "11.1000.4" + "@babylonjs/v8-android-jit-nointl-nosnapshot": "file:C:/Users/ryantrem/Downloads/dist-jit-nointl-nosnapshot/dist/dist/packages/v8-android-jit-nointl-nosnapshot/babylonjs-v8-android-jit-nointl-nosnapshot-11.110.1.tgz" } } From e5fd40b1ea049a2e742df1764975ed987c3729e4 Mon Sep 17 00:00:00 2001 From: Ryan Tremblay Date: Fri, 23 Jan 2026 14:43:13 -0800 Subject: [PATCH 2/6] Switch to mac --- Core/Node-API/package-v8.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Core/Node-API/package-v8.json b/Core/Node-API/package-v8.json index fe140918..768c03b1 100644 --- a/Core/Node-API/package-v8.json +++ b/Core/Node-API/package-v8.json @@ -1,5 +1,5 @@ { "dependencies": { - "@babylonjs/v8-android-jit-nointl-nosnapshot": "file:C:/Users/ryantrem/Downloads/dist-jit-nointl-nosnapshot/dist/dist/packages/v8-android-jit-nointl-nosnapshot/babylonjs-v8-android-jit-nointl-nosnapshot-11.110.1.tgz" + "@babylonjs/v8-android-jit-nointl-nosnapshot": "file:/Users/ryantremblay/Downloads/v8-android-jit-nointl-nosnapshot-package/babylonjs-v8-android-jit-nointl-nosnapshot-11.110.1.tgz" } } From b90a397cd354b22137591972e619d362f89089e7 Mon Sep 17 00:00:00 2001 From: Ryan Tremblay Date: Fri, 23 Jan 2026 15:28:57 -0800 Subject: [PATCH 3/6] Update path in cmakelists --- Core/Node-API/CMakeLists.txt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Core/Node-API/CMakeLists.txt b/Core/Node-API/CMakeLists.txt index 1e8b8611..84c808fa 100644 --- a/Core/Node-API/CMakeLists.txt +++ b/Core/Node-API/CMakeLists.txt @@ -88,8 +88,9 @@ if(NAPI_BUILD_ABI) "Source/js_native_api_v8_internals.h") if(ANDROID) - set(V8_PACKAGE_NAME "v8-android-jit-nointl-nosnapshot") - set(V8_ANDROID_DIR "${CMAKE_CURRENT_BINARY_DIR}/${V8_PACKAGE_NAME}") + set(V8_PACKAGE_BASE_NAME "v8-android-jit-nointl-nosnapshot") + set(V8_PACKAGE_NAME "@babylonjs/${V8_PACKAGE_BASE_NAME}") + set(V8_ANDROID_DIR "${CMAKE_CURRENT_BINARY_DIR}/${V8_PACKAGE_BASE_NAME}") napi_install_android_package(v8 "dist/org/chromium" ${V8_ANDROID_DIR}) set(INCLUDE_DIRECTORIES ${INCLUDE_DIRECTORIES} From ae7ce50e51b639c1680fd73946d40dadd8194717 Mon Sep 17 00:00:00 2001 From: Ryan Tremblay Date: Fri, 23 Jan 2026 16:00:57 -0800 Subject: [PATCH 4/6] Required code changes for newer v8 --- Core/AppRuntime/V8Inspector/Include/V8Inc.h | 3 --- Core/AppRuntime/V8Inspector/Source/V8InspectorAgent.cpp | 9 +-------- Core/Node-API/Include/Engine/V8/napi/env.h | 3 --- Core/Node-API/Source/js_native_api_v8_internals.h | 3 --- 4 files changed, 1 insertion(+), 17 deletions(-) diff --git a/Core/AppRuntime/V8Inspector/Include/V8Inc.h b/Core/AppRuntime/V8Inspector/Include/V8Inc.h index a0b8392e..83073f7b 100644 --- a/Core/AppRuntime/V8Inspector/Include/V8Inc.h +++ b/Core/AppRuntime/V8Inspector/Include/V8Inc.h @@ -9,9 +9,6 @@ #ifndef V8_31BIT_SMIS_ON_64BIT_ARCH #define V8_31BIT_SMIS_ON_64BIT_ARCH 1 #endif -#ifndef V8_ENABLE_SANDBOX -#define V8_ENABLE_SANDBOX 1 -#endif #endif #ifdef _MSC_VER diff --git a/Core/AppRuntime/V8Inspector/Source/V8InspectorAgent.cpp b/Core/AppRuntime/V8Inspector/Source/V8InspectorAgent.cpp index 38b30e3a..2f1f1f5f 100644 --- a/Core/AppRuntime/V8Inspector/Source/V8InspectorAgent.cpp +++ b/Core/AppRuntime/V8Inspector/Source/V8InspectorAgent.cpp @@ -194,14 +194,7 @@ namespace Babylon void ConnectFrontend() { - session_ = inspector_->connect( - 1, new ChannelImpl(agent_), v8_inspector::StringView() -// v8-android package and v8 nuget do not share the same V8 version. A change in V8_inspector API forces us to add this -// ifndef check. This will be fixed in a future nuget package update. -#ifndef ANDROID - , v8_inspector::V8Inspector::kFullyTrusted -#endif - ); + session_ = inspector_->connect(1, new ChannelImpl(agent_), v8_inspector::StringView(), v8_inspector::V8Inspector::kFullyTrusted); } void DisconnectFrontend() diff --git a/Core/Node-API/Include/Engine/V8/napi/env.h b/Core/Node-API/Include/Engine/V8/napi/env.h index 0c890ca8..bf317647 100644 --- a/Core/Node-API/Include/Engine/V8/napi/env.h +++ b/Core/Node-API/Include/Engine/V8/napi/env.h @@ -11,9 +11,6 @@ #ifndef V8_31BIT_SMIS_ON_64BIT_ARCH #define V8_31BIT_SMIS_ON_64BIT_ARCH 1 #endif -#ifndef V8_ENABLE_SANDBOX -#define V8_ENABLE_SANDBOX 1 -#endif #endif #ifdef __clang__ diff --git a/Core/Node-API/Source/js_native_api_v8_internals.h b/Core/Node-API/Source/js_native_api_v8_internals.h index b574a0f6..0b1825d2 100644 --- a/Core/Node-API/Source/js_native_api_v8_internals.h +++ b/Core/Node-API/Source/js_native_api_v8_internals.h @@ -24,9 +24,6 @@ #ifndef V8_31BIT_SMIS_ON_64BIT_ARCH #define V8_31BIT_SMIS_ON_64BIT_ARCH 1 #endif -#ifndef V8_ENABLE_SANDBOX -#define V8_ENABLE_SANDBOX 1 -#endif #endif #include From b296fd8dcbb3f0761fef61f59fded7dfb85f577b Mon Sep 17 00:00:00 2001 From: Ryan Tremblay Date: Fri, 23 Jan 2026 17:20:08 -0800 Subject: [PATCH 5/6] Switch to published version --- Core/Node-API/package-v8.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Core/Node-API/package-v8.json b/Core/Node-API/package-v8.json index 768c03b1..2c69f121 100644 --- a/Core/Node-API/package-v8.json +++ b/Core/Node-API/package-v8.json @@ -1,5 +1,5 @@ { "dependencies": { - "@babylonjs/v8-android-jit-nointl-nosnapshot": "file:/Users/ryantremblay/Downloads/v8-android-jit-nointl-nosnapshot-package/babylonjs-v8-android-jit-nointl-nosnapshot-11.110.1.tgz" + "@babylonjs/v8-android-jit-nointl-nosnapshot": "11.110.1" } } From 90e42ae4af34a4ccf15fb27b3557eb4d11bd6655 Mon Sep 17 00:00:00 2001 From: Ryan Tremblay Date: Mon, 26 Jan 2026 09:14:34 -0800 Subject: [PATCH 6/6] Don't enable sandbox for Android (the Android binary does not have sandbox enabled) --- Core/AppRuntime/V8Inspector/Include/V8Inc.h | 3 +++ Core/Node-API/Include/Engine/V8/napi/env.h | 3 +++ Core/Node-API/Source/js_native_api_v8_internals.h | 3 +++ 3 files changed, 9 insertions(+) diff --git a/Core/AppRuntime/V8Inspector/Include/V8Inc.h b/Core/AppRuntime/V8Inspector/Include/V8Inc.h index 83073f7b..47e93287 100644 --- a/Core/AppRuntime/V8Inspector/Include/V8Inc.h +++ b/Core/AppRuntime/V8Inspector/Include/V8Inc.h @@ -9,6 +9,9 @@ #ifndef V8_31BIT_SMIS_ON_64BIT_ARCH #define V8_31BIT_SMIS_ON_64BIT_ARCH 1 #endif +#if !defined(ANDROID) && !defined(V8_ENABLE_SANDBOX) +#define V8_ENABLE_SANDBOX 1 +#endif #endif #ifdef _MSC_VER diff --git a/Core/Node-API/Include/Engine/V8/napi/env.h b/Core/Node-API/Include/Engine/V8/napi/env.h index bf317647..22334ec5 100644 --- a/Core/Node-API/Include/Engine/V8/napi/env.h +++ b/Core/Node-API/Include/Engine/V8/napi/env.h @@ -11,6 +11,9 @@ #ifndef V8_31BIT_SMIS_ON_64BIT_ARCH #define V8_31BIT_SMIS_ON_64BIT_ARCH 1 #endif +#if !defined(ANDROID) && !defined(V8_ENABLE_SANDBOX) +#define V8_ENABLE_SANDBOX 1 +#endif #endif #ifdef __clang__ diff --git a/Core/Node-API/Source/js_native_api_v8_internals.h b/Core/Node-API/Source/js_native_api_v8_internals.h index 0b1825d2..039e249b 100644 --- a/Core/Node-API/Source/js_native_api_v8_internals.h +++ b/Core/Node-API/Source/js_native_api_v8_internals.h @@ -24,6 +24,9 @@ #ifndef V8_31BIT_SMIS_ON_64BIT_ARCH #define V8_31BIT_SMIS_ON_64BIT_ARCH 1 #endif +#if !defined(ANDROID) && !defined(V8_ENABLE_SANDBOX) +#define V8_ENABLE_SANDBOX 1 +#endif #endif #include