diff --git a/src/main/kotlin/app/ui/dialogs/RebaseInteractiveDialog.kt b/src/main/kotlin/app/ui/dialogs/RebaseInteractiveDialog.kt index cdf1cf4..4de8dd0 100644 --- a/src/main/kotlin/app/ui/dialogs/RebaseInteractiveDialog.kt +++ b/src/main/kotlin/app/ui/dialogs/RebaseInteractiveDialog.kt @@ -14,6 +14,7 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import app.theme.primaryTextColor import app.ui.components.PrimaryButton +import app.ui.components.ScrollableLazyColumn import app.viewmodels.RebaseInteractiveState import app.viewmodels.RebaseInteractiveViewModel import org.eclipse.jgit.lib.RebaseTodoLine @@ -75,7 +76,7 @@ fun RebaseStateLoaded( modifier = Modifier.padding(all = 16.dp) ) - LazyColumn(modifier = Modifier.weight(1f)) { + ScrollableLazyColumn(modifier = Modifier.weight(1f)) { items(rebaseState.stepsList) { rebaseTodoLine -> RebaseCommit( rebaseLine = rebaseTodoLine, diff --git a/src/main/kotlin/app/viewmodels/RebaseInteractiveViewModel.kt b/src/main/kotlin/app/viewmodels/RebaseInteractiveViewModel.kt index d9c7fe3..ae0de56 100644 --- a/src/main/kotlin/app/viewmodels/RebaseInteractiveViewModel.kt +++ b/src/main/kotlin/app/viewmodels/RebaseInteractiveViewModel.kt @@ -61,9 +61,6 @@ class RebaseInteractiveViewModel @Inject constructor( git = git, interactiveHandler = object : InteractiveHandler { override fun prepareSteps(steps: MutableList?) { - - - for (step in steps ?: emptyList()) { val foundStep = newSteps.firstOrNull { it.commit.name() == step.commit.name() } @@ -74,7 +71,8 @@ class RebaseInteractiveViewModel @Inject constructor( } override fun modifyCommitMessage(commit: String): String { - val step = rewordSteps.removeLast() + // This can be called when there aren't any reword steps if squash is used. + val step = rewordSteps.removeLastOrNull() ?: return commit return rebaseState.messages[step.commit.name()] ?: throw InvalidMessageException("Message for commit $commit is unexpectedly null")