'Material Swipe To Dismiss in Compose maks incorrect items for dismissal

I'm implementing drag/swipe to dismiss functionality in a simple notepad app implemented in Compose. I've run into a strange issue where SwipeToDismiss() in a LazyColumn dismisses not only the selected item but those after it as well.

Am I doing something wrong or is this a bug with SwipeToDismiss()? (I'm aware that it's marked ExperimentalMaterialApi)

I've used the Google recommended approach from here: https://developer.android.com/reference/kotlin/androidx/compose/material/package-summary#swipetodismiss

this is where it happens:

/* ...more code... */
LazyColumn {
        items(items = results) { result ->
            Card {
                val dismissState = rememberDismissState()

                //for some reason the dismmissState is EndToStart for all the
                //items after the deleted item, even adding new items becomes impossible
                if (dismissState.isDismissed(EndToStart)) {
                    val scope = rememberCoroutineScope()
                    scope.launch {
                        dismissed(result)
                    }
                }
                SwipeToDismiss(
                    state = dismissState,
                    modifier = Modifier.padding(vertical = 4.dp),
    /* ...more code... */

and here is my project with the file in question https://github.com/davida5/ComposeNotepad/blob/main/app/src/main/java/com/anotherday/day17/ui/NotesList.kt



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source