Update JsRuntimeHost to pick up the UrlLib error-reporting fix - #1821
Merged
bkaradzic-microsoft merged 2 commits intoAug 7, 2026
Merged
Conversation
BabylonNative pins JsRuntimeHost at 8cd1429, which in turn pins UrlLib at e86ffb3. That UrlLib predates 425c9f1 Win32: surface the real error when opening a URL fails (BabylonJS#36) so every failure to open a url on Win32 reaches JavaScript as the constant string "Unknown error opening URL", with no indication of which url failed or why. That makes any asset/network loading failure in a Babylon Native app effectively undiagnosable. Move the pin to JsRuntimeHost main (9271f13), which pins UrlLib 0c99133 and therefore contains the fix. 8cd1429 is an ancestor of 9271f13, so this is a straight fast-forward of the dependency. Before: Error opening URL: Unknown error opening URL After: Error opening URL: Unable to open URL '<the actual url>': <reason> This is engine independent: it improves diagnosability for every graphics backend. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 88569c10-a7ff-4373-9a58-afa9c68b8c09
bkaradzic-microsoft
requested review from
SergioRZMasson,
bghgary and
ryantrem
and
a lite review from Copilot
August 6, 2026 18:44
Contributor
There was a problem hiding this comment.
Pull request overview
Updates BabylonNative’s pinned JsRuntimeHost dependency to a newer commit so that the transitive UrlLib dependency includes the Win32 error-reporting fix (surfacing the real OS error / context when opening a URL fails), improving diagnosability of network/asset load failures.
Changes:
- Bump
JsRuntimeHostFetchContentpin from8cd1429...to9271f13...in CMake. - Indirectly picks up the
UrlLibWin32 error-reporting improvements described in the PR metadata.
bghgary
approved these changes
Aug 6, 2026
bkaradzic-microsoft
enabled auto-merge (squash)
August 6, 2026 19:07
No workflow run was created for a7deb06; this empty commit fires a pull_request synchronize event. Auto-squash discards it at merge.
auto-merge was automatically disabled
August 6, 2026 23:08
Pull request was closed
bkaradzic-microsoft
enabled auto-merge (squash)
August 6, 2026 23:08
bkaradzic-microsoft
disabled auto-merge
August 6, 2026 23:11
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
BabylonNative pins JsRuntimeHost at
8cd1429, which in turn pins UrlLib ate86ffb3. That UrlLib predates:so on Win32 every failure to open a URL reaches JavaScript as the constant string:
No URL, no reason. Any asset or network loading failure in a Babylon Native app is effectively undiagnosable — you cannot tell which request failed, let alone why.
Change
Move the pin to JsRuntimeHost
main(9271f13), which pins UrlLib0c99133and therefore contains the fix.8cd1429is an ancestor of9271f13(verified withgit merge-base --is-ancestor), and there is exactly one commit in between, so this is a straight fast-forward of the dependency.Effect
Real example, from triaging a Gaussian Splatting test failure:
Before
After
The second message immediately identifies the real defect (ES module source text being passed where a URL is expected — see BabylonJS/Babylon.js#18776). The first is a dead end.
This is engine independent: it improves diagnosability for every graphics backend.
Validation
Built for Win32 and ran the full Playground validation catalog (680 runnable tests) before and after the bump:
8cd1429)9271f13)The single differing test is
SOGS with SH no texture lookup. It was re-run in isolation on both pins and is pre-existing flaky, not a regression:8cd1429: 3 PASS / 5 FAIL over 8 runs9271f13: 3 PASS / 3 FAIL over 6 runsNo other test changed status.