Add Kotlin/Wasm JS support to Compose HTML EAP - #5722
Open
Clemens Koprolin (clemenskoprolin) wants to merge 2 commits into
Open
Clemens Koprolin (clemenskoprolin) wants to merge 2 commits into
Clemens Koprolin (clemenskoprolin) wants to merge 2 commits into
Conversation
Oleksandr Karpovich (eymar)
self-requested a review
September 17, 2026 14:17
webMain used kotlinx.browser.dom.Node, but kotlinx.dom.clear() expects the JS-specific DOM Node
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.
This PR adds Kotlin/Wasm JS as a target for the Compose HTML EAP core, SVG, runtime, and shared test utilities.
Browser implementations and tests move into shared
webMainandwebTestsource sets. Platform-specific DOM operations use implementations for JS and Wasm, including weak maps, microtask scheduling, input events, nonce access, event listeners and test utilities. Typed implementations shared by JVM and Wasm live innonJsMain.Typed Wasm interop exposed two existing problems.
TextAreaAttrsScopeused anHTMLInputElementvalue setter that only worked on JS because the cast erased. Controlled input restoration could happen before all event listeners ran (on WASM/JS). Text areas now use the correct setter and restoration waits until all listeners finish.Existing browser tests run on both JS and Wasm. Cases requiring JS-only interop remain in
jsTest.Testing
Run from the
htmldirectory:Fixes CMP-10816
Release Notes
N/A