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