compose-webview-multiplatform
compose-webview-multiplatform copied to clipboard
WebView navigator brittle
Under certain conditions the WebViewNavigator does not work at all. Calling the methods on the navigator has no effect.
Reproduction sample (Only reproduced on Desktop)
@Composable
internal fun BasicWebViewSample() {
val initialUrl = "https://github.com/KevinnZou/compose-webview-multiplatform"
val state = rememberWebViewState(url = initialUrl)
val navigator = rememberWebViewNavigator()
Column {
IconButton(onClick = {
navigator.navigateBack()
}) {
Icon(
imageVector = Icons.Default.ArrowBack,
contentDescription = "Back",
)
}
WebView(
state = state,
modifier =
Modifier
.fillMaxSize(),
navigator = navigator,
)
}
}
- Load the sample
- Click into some link on the page (so there's something to navigate back to)
- Tap the back arrow - Nothing happens.
Note: In the sample in the repo this works fine, this seems to have something to do with the fact the sample has a navigator passed in as a param.
It seems a change to the value on this line does not trigger a recomposition correctly.
@KevinnZou Can this be merged?
Facing this same issue. When will this get merged?
Same here, can this be merged? @KevinnZou
Putting a webview in a Lazy container can also cause this issue
Same issue here, when I tried use WebView in the HorizontalPager, it triggered the evaluateJavascript for couple of pages and then it stops doing that for rest of them. It's very flaky @KevinnZou