Skip to content

[browser] Move .NET callbacks off Module - #134642

Draft
maraf wants to merge 2 commits into
dotnet:mainfrom
maraf:maraf/migrate-module-extensions
Draft

maraf wants to merge 2 commits into
dotnet:mainfrom
maraf:maraf/migrate-module-extensions

Conversation

@maraf

@maraf maraf commented Sep 25, 2026 •

Copy link
Copy Markdown
Member

Move .NET lifecycle and download-progress callbacks out of Emscripten's Module so the loader owns its own callback state. withConfigLoaded replaces the legacy module configuration callback; withDotnetReady remains available internally without becoming part of the public host-builder declaration.

CoreCLR now accepts both function and array forms for preInit and preRun, avoiding the startup failure caused by spreading a function callback. Mono follows the same loader-owned callback model, and the browser test asset uses the new builder API.

Follow up on #134498
Resolves #132555

Note

This PR description was generated with the assistance of GitHub Copilot.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 3 pipeline(s).
13 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

@maraf maraf added arch-wasm WebAssembly architecture os-browser Browser variant of arch-wasm labels Sep 25, 2026
@maraf maraf added this to the 12.0.0 milestone Sep 25, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to 'arch-wasm': @lewing, @pavelsavara
See info in area-owners.md if you want to be subscribed.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

arch-wasm WebAssembly architecture area-System.Runtime.InteropServices.JavaScript os-browser Browser variant of arch-wasm

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[browser][coreclr] TypeError: (Module.preRun || []) is not iterable

1 participant