Skip to content

WebView navigator brittle #246

@SamCosta1

Description

@SamCosta1

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,
        )
    }
}
  1. Load the sample
  2. Click into some link on the page (so there's something to navigate back to)
  3. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions